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 (); ?>