php 面向对象的方式访问数据库

<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 面向对象的方式访问数据库的更多相关文章
- 非链接方式访问数据库--查询的数据集用Dataset来存储。
private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...
- ADO.NET 连接方式和非链接方式访问数据库
一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...
- 对比传统方式访问数据库和SpringData访问数据库
我们在写代码的时候应该一边写一边测试,这样的话可以尽快的找到错误,在代码写多了之后去找错误的话不容易给错误定位 传统方式访问数据库 1:创建一个Maven web项目 2:修改pom.xml为以下内容 ...
- 2017.11.12 web中JDBC 方式访问数据库的技术
JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...
- ASP.NET MVC- EF返回连接池用ADO.NET方式访问数据库
用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦.而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INC ...
- Mybatis基于注解的方式访问数据库
1. 使用方式:在Service层直接调用 package com.disappearwind.service; import org.springframework.beans.factory.an ...
- 使用Tomcat数据源的方式访问数据库(MySql) --Struts2框架应用与开发
1.为方便测试首先创建数据库和表,然后插入测试数据 2.打开Tomcat服务器安装目录的conf/下的context.xml,配置context.xml文件. 在<Context>标签 ...
- 封装类的方式访问数据库(封装字符串、json)
<?php class DBDA { public $host="localhost";//服务器地址 public $uid="root";//用户名 ...
- 以Ajax的方式访问数据库
一:以Ajax的方式显示数据 我们都知道,如果用Ajax程序去加载一个动态页,则加载的实际上是这个动态页执行完毕后生成的静态HTML代码字符串. 1.以原有的格式显示数据 <?php heade ...
随机推荐
- javaweb学习总结(三十一)——国际化(i18n)
一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...
- ios 关键字 IB_DESIGNABLE IBInspectable 尝鲜
每次都用代码定义一个属性,然后在viewDidLoad中再去设置这个属性,最常见的就是什么圆角,描边的, 现在终于可以直接像系统的属性一样在界面上设定了 界面上修改你的属性,减少代码压力
- 说说Java中的枚举(一)
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的.例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. ...
- javascript单体模式
单体模式的思想在于保证一个特定类仅有一个实例.这意味着当第二次使用同一个类创建的新对象的时候,应该得到与第一个所创建的对象完全相同. javacript中并没有类,因此对单体咬文嚼字的定义严格来说并没 ...
- 键盘上各键对应的ASCII码与扫描码
键盘上各键对应的ASCII码与扫描码 vbKeyLButton 0x1 鼠标左键vbKeyRButton 0x2 鼠标右键vbKeyCancel 0x3 CANCEL 键vbKeyMButton 0x ...
- python网络编程之最简单的单工通信
tcp_server.py from socket import * server = socket(AF_INET, SOCK_STREAM) server.bind(('',12345)) ser ...
- ZeroMQ(java)之I/O线程的实现与组件间的通信
算是开始读ZeroMQ(java)的代码实现了吧,现在有了一个大体的了解,看起来实现是比较的干净的,抽象什么的不算复杂... 这里先来看看它的I/O线程的实现吧,顺带看看是如何实现组件的通信的.... ...
- Windows2003操作系统SQL Server 2008安装图解(详细)
最近不少用户在windows2003 server 32位操作系统上安装SQL Server2008总是失败,出现大量错误.今天经过通过我反复测试安装,找出了一个便捷的安装方法,节省大家宝贵时间,具体 ...
- [转载]WiFi有死角? 巧用旧无线路由器扩展覆盖
怎么了,家里的WiFi有死角?老旧无线路由器的无线覆盖不给力?现在大功率无线产品或双频无线产品的售价并不便宜,而且仅靠一台无线路由器并不能满足多户型家庭的无线覆盖需求.那么,是不是有什么廉价而又实用的 ...
- Linux rpm安装问题解决
1.安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de: NOKEY 解决的方法就是在rpm 语句后面加上 ...