1,建立与数据库之间的连接 (能通过php代码执行一个SQL语句得到查询的结果)
<?php mysqli_connect(\'127.0.0.1\' , \'root\' , 123456\' , \'demo01\');
这里要注意两个问题:
①mysqli 是一个额外的扩展,如果想要使用这个扩展提供的函数,必须开启扩展 extension_dir
在php 的配置文件里解除注释 extension=php mysqli.dll (这里特别提醒,修改php的配置文件之后可以 用 phpinfo()函数看看php的文档中有没有成功解除前面的注释添加 mysqli 这个扩展)
2,判断是否连接成功
<?php $connection=mysqli_connect(\'127.0.0.1\' , \'root\' , \'123456\' , \'demo01\'); if(! $connection){ exit (\'连接数据库失败\'); }
3,基于刚刚创建的连接对象执行一次查询操作
<?php $connection=mysqli_connect(\'127.0.0.1\' , \'root\' , \'123456\' , \'demo01\'); if(! $connection){ exit (\'连接数据库失败\'); } $query=mysqli_query($connection , \'select * from users;\'); var_dump($query);
得到的是一个查询对象
4,这个查询对象可以用来再到数据库中一行一行拿数据
<?php $connection=mysqli_connect(\'127.0.0.1\', \'root\', \'123456\', \'demo01\'); if(!$connection){ exit(\'<h1>连接数据库失败</h1>\'); } $query=mysqli_query($connection,\'select * from users\'); $row=mysqli_fetch_assoc($query); var_dump($row);
但是只能拿到一行数据,需要多写几次这段代码才能提取出全部数据,故而涉及到循环
5,循环遍历拿数据
<?php $connection=mysqli_connect(\'127.0.0.1\', \'root\', \'123456\', \'demo01\'); if(!$connection){ exit(\'<h1>连接数据库失败</h1>\'); } $query=mysqli_query($connection,\'select * from users\'); $row=mysqli_fetch_assoc($query); while($row){ var_dump($row); $row=mysqli_fetch_assoc($query); } var_dump($row);
6, 模仿 js 中的 判断,优化循环语句
<?php $connection=mysqli_connect(\'127.0.0.1\', \'root\', \'123456\', \'demo01\'); if(!$connection){ exit(\'<h1>连接数据库失败</h1>\'); } $query=mysqli_query($connection,\'select * from users\'); while ($row=mysqli_fetch_assoc($query)) { var_dump($row); }
7,判断查询失败提示 以及 释放查询结果集、炸桥(关闭连接)
<?php $connection = mysqli_connect(\'127.0.0.1\' , \'root\' , \'123456\' , \'demo01\' ); if(!$connection){ exit (\'连接数据库失败\'); } $query=mysqli_query($connection , \'select * from users\') ; if(!$query){ exit(\'查询失败\'); } //遍历结果集 while($row = mysqli_fetch_assoc($query)) { var_dump($row); } //释放查询结果集 mysqli_free_result($query); //炸桥、关闭连接 mysqli_close($connection);
8,增删改数据的查询语句
<?php
$connection=mysqli_connect(\'127.0.0.1\', \'root\', \'123456\', \'demo01\');
if(!$connection){
exit(\'<h1>连接数据库失败</h1>\');
}
$query = mysqli_query($connection,\'delete from users where id=3;\'); //基于刚刚创建的连接对象执行一次查询操作
if(!$query){
exit(\'查询失败\');
}
//如何拿到受影响行
$rowsAccepted = mysqli_affected_rows($connection); //传入的一定是连接对象
var_dump($rowsAccepted);
mysqli_close($connection); //炸桥,关闭连接
9,PHP中查询数据的编码问题
<?hphp $connection=mysqli_connect(\'127.0.0.1\' , \'root\' , \'123456\' , \'demo01\'); mysqli_set_charset($connection, \' utf8 \'); //必须在查询对象之前,必须传入连接对象和编码 //或是 mysqli_query($connection, \'set names utf8;\');
if(!connection){ exit(\'连接数据库失败\'); } $query=mysqli_query($connection, \'select*from users\'); if(!query){ exit(\'查询失败\'); } while($row=mysqli_fetch_assor($query)){ var_dump($row); } mysqli_free_result($query); mysqli_close($connection);