<body>
<?php //面向对象的方式访问数据库 //造对象
$db = new MySQLi("localhost","root","123","mydb"); //判断连接是否出错
/*if(mysqli_connect_error())
{
echo "连接失败!";
exit;
}*/ !mysqli_connect_error() or die("连接失败!"); //写SQL语句
$sql = "insert into Info values('p010','张三',true,'n002','1988-2-3')"; //执行SQL语句,查询语句返回结果集对象,其他语句返回true或false
$result = $db->query($sql); //从结果集对象中读取数据
//$attr = $result->fetch_all(MYSQLI_BOTH); //以二维数组的方式返回所有数据
//$attr = $result->fetch_array(); //返回当前指针指向的这条数据
//$attr = $result->fetch_assoc(); //返回当前指针指向的这条数据(关联数组)
//$attr = $result->fetch_object(); //返回对象
//$attr = $result->fetch_row(); //返回索引数组
//var_dump($attr);
/*
while($attr = $result->fetch_row()) //通过循环返回所有一维数组,另外可以在外面定义一个空数组,把循环出来的数通过array_push方法加到空数组中,输出一个2维数组,等同于fetch_all();
{
var_dump($attr);
}*/ //var_dump($result); ?>
</body>

例子

登陆界面

<body>
<h1>登录</h1>
<form action="dlchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<input type="submit" value="登录" />
</form>
</body>
<?php
$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; //造对象
$db = new MySQLi("localhost","root","123","mydb");
//判断是否出错
!mysqli_connect_error() or die("连接失败!");
//写SQL语句
//容易被SQL注入攻击,不安全
//$sql = "select count(*) from Users where Uid = '{$uid}' and Pwd='{$pwd}'"; $sql = "select Pwd from Users where Uid='{$uid}'"; //执行SQL语句
$result = $db->query($sql); //取数据
$attr = $result->fetch_row(); if($attr[0] == $pwd)
{
header("location:main.php");
}
else
{
echo "登录失败!";

注册界面

<body>
<form action="zcchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<div>姓名:<input type="text" name="name" /></div>
<div>性别:<input type="radio" value="1" name="sex" />男 <input type="radio" value="0" name="sex" />女</div>
<div>生日:<input type="text" name="birthday" /></div>
<input type="submit" value="注册" />
</form>
</body>
<?php
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$birthday = $_POST["birthday"]; $s = $sex==1?true:false; //造对象
$db = new MySQLi("localhost","root","123","mydb"); //判断是否出错
!mysqli_connect_error() or die("连接失败!"); //写SQL语句
$sql = "insert into Users values('{$uid}','{$pwd}','{$name}',{$s},'{$birthday}',0)"; //执行SQL语句
$result = $db->query($sql); if($result)
{
header("location:zhuce.php");
}
else
{
echo "注册失败!";
}

php 面向对象的方式访问数据库的更多相关文章

  1. 非链接方式访问数据库--查询的数据集用Dataset来存储。

    private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...

  2. ADO.NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

  3. 对比传统方式访问数据库和SpringData访问数据库

    我们在写代码的时候应该一边写一边测试,这样的话可以尽快的找到错误,在代码写多了之后去找错误的话不容易给错误定位 传统方式访问数据库 1:创建一个Maven web项目 2:修改pom.xml为以下内容 ...

  4. 2017.11.12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

  5. ASP.NET MVC- EF返回连接池用ADO.NET方式访问数据库

    用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦.而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INC ...

  6. Mybatis基于注解的方式访问数据库

    1. 使用方式:在Service层直接调用 package com.disappearwind.service; import org.springframework.beans.factory.an ...

  7. 使用Tomcat数据源的方式访问数据库(MySql) --Struts2框架应用与开发

    1.为方便测试首先创建数据库和表,然后插入测试数据   2.打开Tomcat服务器安装目录的conf/下的context.xml,配置context.xml文件. 在<Context>标签 ...

  8. 封装类的方式访问数据库(封装字符串、json)

    <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root";//用户名 ...

  9. 以Ajax的方式访问数据库

    一:以Ajax的方式显示数据 我们都知道,如果用Ajax程序去加载一个动态页,则加载的实际上是这个动态页执行完毕后生成的静态HTML代码字符串. 1.以原有的格式显示数据 <?php heade ...

随机推荐

  1. Core Animation编程指南

    本文是<Core Animation Programming Guide>2013-01-28更新版本的译文.本文略去了原文中关于OS X平台上Core Animation相关内容.因为原 ...

  2. Android讯飞语音云语音听写学习

    讯飞语音云语音听写学习         这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...

  3. Spring学习2—Spring容器

    一.Spring容器接口关系 容器是Spring框架的核心,Spring容器就是一个巨大的工厂.Spring容器使用Ioc(控制反转(Inversion of Control )管理所有组成应用系统的 ...

  4. ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS

    ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...

  5. C语言时间函数

    #include "time.h" #include "stdio.h" #include "stdlib.h" int main() { ...

  6. 杭赛.Triangle(数学推导)

    Triangle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  7. Java中Properties类的操作

    知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...

  8. 使用Unity创造动态的2D水体效果

    者:Alex Rose 在本篇教程中,我们将使用简单的物理机制模拟一个动态的2D水体.我们将使用一个线性渲染器.网格渲染器,触发器以及粒子的混合体来创造这一水体效果,最终得到可运用于你下款游戏的水纹和 ...

  9. [POJ1003]Hangover

    [POJ1003]Hangover 试题描述 How far can you make a stack of cards overhang a table? If you have one card, ...

  10. Leetcode 之Construct Binary Tree(52)

    根据先序和中序构造二叉树.根据中序和后序构造二叉树,基础题,采用递归的方式解决,两题的方法类似.需要注意的是迭代器的用法. //先序和中序 TreeNode *buildTree(vector< ...