`

第六章 使用Mysqli操作数据库

 
阅读更多

demo1.php

<?php
// 使用mysqli对象操作数据库
// 创建mysqli对象(资源句柄)
$_mysqli = new mysqli ();
// 连接数据库 1.主机名(ip) 2.账户 3.密码 4.数据库
// mysqli_connect()函数 == $_mysqli->connect()
$_mysqli->connect ( 'localhost', 'root', 'yangfan', 'guest' );
// 断开MySQL mysqli_close() == $_mysqli->close()
$_mysqli->close ();
?>

 

demo2.php

<?php
// 不用connect,直接使用构造方法
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'guest' );
// 单独选择一个数据库
// 这里选择的数据库会替代上面的数据库
// 为了避免这些麻烦,尽量不用去单独指向了
$_mysqli->select_db ( 'testguest' );
$_mysqli->close ();
?>

 

demo3.php

<?php
// 连接mysql
// 当你参数出现错误,导致连接错误的时候,
// $_mysqli这个对象就没有创建成功,也就是说,没有资源句柄的功能
// 就是没有调用mysqli下的方法和属性的能力了
@$_mysqli = new mysqli ( 'localhost', 'roofgt', 'yangfan', 'guest' );
// 为什么要用函数去捕捉呢?
// 为什么不用面向对象的方式去捕捉呢?
// 0表示没有任何错误.
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
$_mysqli->close ();
?>

 

demo4.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'guest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
$_mysqli->select_db ( 'sdfskldjfsldkjfsd' );
// 数据库操作时发生的错误
if ($_mysqli->errno) {
	echo '数据库操作错误:' . $_mysqli->error;
}
$_mysqli->close ();
?>

 

demo5.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 执行SQL语句,把结果集赋给$_result(资源句柄)
$_result = $_mysqli->query ( $_sql );
// 通过结果集,我要取得第一行数据
// fetch_row();是返回的一个数组,里面是第一条数据的集合
print_r ( $_result->fetch_row () );
// 运行一次,指针下移一条
print_r ( $_result->fetch_row () );
// 销毁结果集
$_result->free ();
$_mysqli->close ();
?>

 

demo6.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 使用索引数组取值
// print_r($_result->fetch_row());
$_row = $_result->fetch_row ();
echo $_row [3];
// 遍历,下标很难记[3]
while ( ! ! $_row = $_result->fetch_row () ) {
	echo $_row [3] . '<br />';
}
$_mysqli->close ();
?>

 

demo7.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 使用关联数组取值
// print_r($_result->fetch_assoc());
$_assoc = $_result->fetch_assoc ();
echo $_assoc ['tg_username'];
// 遍历
while ( ! ! $_assoc = $_result->fetch_assoc () ) {
	echo $_assoc ['tg_username'] . '<br />';
}
$_mysqli->close ();
?>

 

demo8.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 使用索引+关联数组取值
// print_r($_result->fetch_array());
$_array = $_result->fetch_array ();
echo $_array [3];
echo $_array ['tg_username'];
// 遍历.....
$_mysqli->close ();
?>

 

demo9.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 使用OOP的方法object
// print_r($_result->fetch_object());
echo $_result->fetch_object ()->tg_username;
// 使用OOP遍历
while ( ! ! $_object = $_result->fetch_object () ) {
	echo $_object->tg_username . '<br />';
}
$_mysqli->close ();
?>

 

demo10.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user limit 0,10";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 我要看下我选择了多少行
echo $_result->num_rows;
// 我影响了多少行呢
echo $_mysqli->affected_rows;
$_mysqli->close ();
?>

 

demo11.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "UPDATE tg_user SET tg_username='吴者然' WHERE tg_id=5";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 我要看下我选择了多少行
echo $_result->num_rows;
echo '|';
// 我影响了多少行呢
echo $_mysqli->affected_rows;
$_mysqli->close ();
?>

 

demo12.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 求出表中有多少个字段
echo $_result->field_count;
// 获取字段的名字
// $_field = $_result->fetch_field();
// echo $_field->name;
// $_field = $_result->fetch_field();
// echo $_field->name;
//
// while (!!$_field = $_result->fetch_field()) {
// echo $_field->name.'<br />';
// }
// 一次性取得所有的字段
$_fields = $_result->fetch_fields ();
// echo $_fields[0]->name;
foreach ( $_fields as $_field ) {
	echo $_field->name . '<br />';
}
$_mysqli->close ();
?>

 

demo13.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建一句SQL,获取数据库的表的数据
$_sql = "SELECT * FROM tg_user";
// 创建一个结果集
$_result = $_mysqli->query ( $_sql );
// 移动数据指针
$_result->data_seek ( 9 );
$_row = $_result->fetch_row ();
echo $_row [3];
// 移动字段指针
$_result->field_seek ( 3 );
$_field = $_result->fetch_field ();
echo $_field->name;
$_mysqli->close ();
?>

 

demo14.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建三个修改的SQL语句
$_sql .= "UPDATE tg_article SET tg_username='吴者然' WHERE tg_id=1;";
$_sql .= "UPDATE tg_flower SET tg_fromuser='吴者然' WHERE tg_id=1;";
$_sql .= "UPDATE tg_friend SET tg_fromuser='吴者然' WHERE tg_id=1";
// 使用通知执行的方法
$_mysqli->multi_query ( $_sql );
// 普通只能执行sql的方法是:$_mysqli->query($_sql);
$_mysqli->close ();
?>

 

demo15.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 创建三条选择语句
$_sql .= "SELECT * FROM tg_photo;";
$_sql .= "SELECT * FROM tg_user;";
$_sql .= "SELECT * FROM tg_friend";
if ($_mysqli->multi_query ( $_sql )) {
	// 获取当前的结果集
	$_result = $_mysqli->store_result ();
	print_r ( $_result->fetch_row () );
	echo '<br />';
	// 将结果集的指针移到下一条
	$_mysqli->next_result ();
	$_result = $_mysqli->store_result ();
	if (! $_result) {
		echo '第二条SQL语句有五!';
		exit ();
	}
	print_r ( $_result->fetch_row () );
	echo '<br />';
	$_mysqli->next_result ();
	$_result = $_mysqli->store_result ();
	if (! $_result) {
		echo '第三条SQL语句有五!';
		exit ();
	}
	print_r ( $_result->fetch_row () );
} else {
	echo '第一条SQL语句有误';
	exit ();
}
$_mysqli->close ();
?>

 

demo16.php

<?php
$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'testguest' );
// 数据库连接时发生的错误
if (mysqli_connect_errno ()) {
	echo '数据库连接出现了错误.错误的信息是:' . mysqli_connect_error ();
	exit ();
}
// 设置一下编码
$_mysqli->set_charset ( 'utf8' );
// 设置关闭自动提交(手工提交)
$_mysqli->autocommit ( false );
// 创建两个SQL语句
$_sql .= "UPDATE tg_flower SET tg_flower=tg_flower-50 WHERE tg_id=1;";
$_sql .= "UPDATE tg_friend SET tg_state=tg_state+50 WHERE tg_id=1";
// 执行多条SQL语句
// 只要这两条SQL语句都成功了,就手工提交给数据库
// 否则,就回滚,撤销之前的有效操作。
if ($_mysqli->multi_query ( $_sql )) {
	// 通过影响的行数,来判定SQL语句是否成功执行
	// 如果$_success是false说明sql语句有吴,那么就执行回滚,否则就手工提交
	$_success = $_mysqli->affected_rows == 1 ? true : false;
	// 下移指针
	$_mysqli->next_result ();
	$_success2 = $_mysqli->affected_rows == 1 ? true : false;
	// 如果两条都成功的话
	if ($_success && $_success2) {
		// 执行手工提交
		$_mysqli->commit ();
		echo '完美提交';
	} else {
		// 执行回滚,撤销之前的所有操作
		$_mysqli->rollback ();
		echo '所有操作归零!';
	}
} else {
	echo '第一条SQL语句有错误!';
}
// 再开启自动提交
$_mysqli->autocommit ( true );
$_mysqli->close ();
?>

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    PHP中基于MYSQLI类操作MYSQL数据库的实现.pdf

    创建 MYSQLI 对象是使用 MYSQLI 类操作 MYSQL 数据库的第一步。开发者可以使用 new 关键字创建 MYSQLI 对象,并指定 MYSQL 数据库的连接参数。 6. 执行 SQL 语句 执行 SQL 语句是使用 MYSQLI 类操作 MYSQL 数据库的...

    第22章 PHP操作MySQL数据库PPT

    **第22章 PHP操作MySQL数据库** 在PHP开发中,MySQL数据库是一个常用的数据存储系统,本章主要介绍了如何使用PHP语言来与MySQL进行交互。以下是关键知识点的详细讲解: **22.1 PHP访问MySQL数据库的一般步骤** ...

    php 花店系统,数据库是mysqli,比较简单的代码

    这个系统采用了MySQLi作为数据库接口,提供了与MySQL数据库交互的能力,简化了数据库操作。MySQLi相较于旧版的MySQL扩展,提供了面向对象的API以及更强大的错误处理机制。 ### 1. MySQLi 数据库接口 MySQLi(MySQL...

    PHP程序设计第2版

    第6章 面向对象的PHP 第7章 高级OOP特性 第8章 错误和异常处理 第9章 字符串和正则表达式 第10章 处理文件和操作系统 第11章 PEAR 第12章 日期和时间 第13章 PHP 5.1 第14章 表单和导航提示 第15章 处理文件上传 第...

    php+mysqli使用面向对象方式查询数据库实例

    首先,创建数据库连接是使用MySQLi进行数据库操作的第一步。通过实例化MySQLi类来创建连接对象,如下所示: ```php $mysqli = new MySQLi("localhost","root","123456"); ``` 这里的参数依次是服务器地址、用户名...

    MySQL数据库应用案例视频教程下载第20讲 PHP操作MySQL数据库.zip

    在"第20讲 PHP操作MySQL数据库"中,我们主要会学习以下关键知识点: 1. **连接MySQL数据库**:首先,我们将了解如何使用PHP的mysqli或PDO扩展来建立与MySQL服务器的连接。理解如何配置连接参数,如主机名、用户名、...

    第1章_PHP和其他数据库的连接.pdf

    本章深入讨论了PHP如何连接并操作MySQL以及其他类型的数据库。 1. **PHP与MySQL的连接** - PHP提供了mysqli和PDO(PHP Data Objects)扩展来连接MySQL数据库。mysqli是原生的MySQL接口,支持面向对象和面向过程两...

    《PHP编程最快明白》第六讲:Mysql数据库操作_.docx

    在实际开发中,我们通常会使用像phpMyAdmin这样的工具来管理MySQL数据库,它提供了一个友好的图形用户界面,方便进行数据库的创建、修改、查询等操作。在phpMyAdmin中,确保所有数据的编码设置为UTF-8,这样可以确保...

    php数据库操作综合应用题

    6. 错误处理与连接关闭:在所有涉及数据库操作的地方,都进行了错误检查,如使用`if ($conn-&gt;connect_error)`检测连接错误,并在操作完成后使用`$conn-&gt;close()`关闭连接,这是良好的编程习惯,有助于防止资源泄漏和...

    php连接mysql数据库代码

    现在推荐使用`mysqli`或PDO扩展进行数据库操作,它们提供了更好的性能和安全性。 6. **`mysqli`扩展**:`mysqli`(MySQL Improved)是PHP推荐的MySQL连接方式,支持面向对象和过程式两种编程风格,并具有错误处理和...

    简单PHP分页类的实现(内含测试数据库及数据库操作类)

    - 连接数据库:使用如PDO或mysqli等扩展建立与数据库的连接。 - 执行查询:接受SQL查询语句,执行并返回结果集。 - 获取单行/多行数据:从结果集中提取单个或多个记录。 - 关闭连接:在完成操作后关闭数据库连接。 ...

    php简单操作mysql数据库的类.docx

    在PHP中,操作MySQL数据库通常涉及使用MySQLi或PDO扩展,但这个例子提供了一个自定义的Database类,它封装了一些基本的数据库交互方法。以下是对这个类中关键知识点的详细解释: 1. **类变量**: 类`Database`包含了...

    PHP程序设计(第2版) 英文

    安装配置Apache和PHP&lt;br&gt;第3章 PHP基础 第4章 函数 第5章 数组 第6章 面向对象的PHP&lt;br&gt;第7章 高级OOP特性 第8章 错误和异常处理 第9章 字符串和正则表达式 第10章 处理文件和操作系统 第11章 ...

    php接收json数据,保存数据库

    完成操作后,别忘了关闭数据库连接。 ```php mysqli_close($conn); ``` 以上就是PHP接收JSON数据并将其保存到数据库的基本流程。在实际开发中,可能还需要考虑数据验证、事务处理、错误处理等更复杂的情况。例如,...

    帝国数据库备份

    在PHP环境中,有许多方法可以实现数据库备份,这些方法通常涉及SQL查询、文件操作和可能的第三方库。 首先,让我们理解什么是“帝国数据库”。尽管没有明确指出,但这里可能指的是"EmpireCMS",一个流行的开源中国...

    PHP+MYSQL数据库编程资料

    此外,为了保证数据库操作的安全性,应使用预处理语句防止SQL注入。 对于数据分页,PHP可以通过计算SQL的LIMIT子句来实现。通过设置开始位置和数量,可以限制查询结果的返回范围,从而实现分页显示。这对处理大数据...

    PHP连接数据库模板

    其中,第一个参数是数据库名称,第二个参数是连接标识符。 #### 五、执行SQL查询 在选择好数据库之后,就可以开始执行SQL查询操作了。示例中的 SQL 查询语句为: ```php $sql = "SELECT * FROM `user`"; ``` 这里...

    php mysql数据库操作类 v1.0.rar

    连接成功后,类会返回一个数据库连接对象,供后续操作使用。 2. **SQL查询**:类中的`query()`方法可能是执行SQL查询的关键。它可以接收一个SQL字符串,然后通过数据库连接执行查询。返回的结果可能是游标,可以用`...

Global site tag (gtag.js) - Google Analytics