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 ();
?>
标签:数据库,sql,mysqli,echo,result,tg,第六章,Mysqli,fetch From: https://blog.51cto.com/u_16171388/6558639