mysql中sldkjf_第六章 使用Mysqli操作数据库

demo1.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

// 不用connect,直接使用构造方法

$_mysqli = new mysqli ( 'localhost', 'root', 'yangfan', 'guest' );

// 单独选择一个数据库

// 这里选择的数据库会替代上面的数据库

// 为了避免这些麻烦,尽量不用去单独指向了

$_mysqli->select_db ( 'testguest' );

$_mysqli->close ();

?>

demo3.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

$_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

$_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

$_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] . '
';

}

$_mysqli->close ();

?>

demo7.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'] . '
';

}

$_mysqli->close ();

?>

demo8.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

$_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 . '
';

}

$_mysqli->close ();

?>

demo10.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

$_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

$_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.'
';

// }

// 一次性取得所有的字段

$_fields = $_result->fetch_fields ();

// echo $_fields[0]->name;

foreach ( $_fields as $_field ) {

echo $_field->name . '
';

}

$_mysqli->close ();

?>

demo13.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

$_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

$_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 '
';

// 将结果集的指针移到下一条

$_mysqli->next_result ();

$_result = $_mysqli->store_result ();

if (! $_result) {

echo '第二条SQL语句有五!';

exit ();

}

print_r ( $_result->fetch_row () );

echo '
';

$_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

$_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 ();

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值