第20课时: PHP操作MySQL数据库(增删改)视频教程
<p><span style="font-size:22px;"><strong><span style="color:#008080;">PHP操作数据的步骤:</span></strong></span></p>
<ol>
<li><span style="color:#696969;"><span style="font-size:18px;"><strong>建立与数据库的连接</strong></span></span></li>
<li><span style="color:#696969;"><span style="font-size:18px;"><strong>设置编码</strong></span></span></li>
<li><span style="color:#696969;"><span style="font-size:18px;"><strong>执行对应的SQL语句</strong></span></span></li>
</ol>
<pre>
<code class="language-php">//构建连接数据库的相关参数
$config = [
'host' => 'localhost', //主机名
'user' => 'root',//用户名
'pwd' => 'root',//密码
'dbname' => 'student',//数据库名
'port' => '3306',//端口
];
//建立与数据库的连接 获取一个连接标识符$link
$link = mysqli_connect($config['host'], $config['user'], $config['pwd'], $config['dbname'], $config['port']);
//构建设置编码的SQL语句
$sql = "set names utf8";
//执行SQL 设置编码
$res = mysqli_query($link, $sql);
//.....继续执行其他语句
</code></pre>
<p><span style="color:#FF0000;">mysqli_query($link,$sql)</span>函数中有两个参数,其中第一个参数是连接标识符,第二个参数是SQL语句(可以是增删改查的SQL)。下面解释一下执行后的返回值的情况。</p>
<p><strong>1.执行完该语句后如果没有语法错误的前提下,对于增删改的SQL语句会返回true,对于查询语句会返回一个对象类型(对象类型目前还没有学过,目前先有个大概的印象,后续课程会做详细讲解)。</strong></p>
<p><strong>2.如果有语法错误都会返回false,所以在程序判断的时候可以用返回值 !==false来判断程序是否执行成功。</strong></p>
<p><strong>3.注意没有语法错误不代表一定会对数据产生影响,下面会解释如何判断对数据产生了影响。</strong></p>
<p>在没有语法错误的前提下可以使用函数<span style="color:#FF0000;">mysqli_affected_rows($link)</span>进行判断是否对数据产生了影响,该函数会返回影响的行数,如果有语法错误可以打印mysqli_error($link)的值查看是什么原因导致错误,这在调试的时候经常会用到。</p>
<p>下面是执行增删改的示例代码:</p>
<pre>
<code class="language-php">// 添加数据
$insert_sql = "insert into msg (msg_id,msg_nickname,msg_content,msg_time) values (null,'小明','测试内容','2018-05-15 10:10:15')";
$res = mysqli_query($link, $insert_sql);
//删除数据
/*
$delete_sql = "delete from msg where msg_id=4";
$res = mysqli_query($link, $delete_sql);
*/
//修改数据
/*
$update_sql = "update msg set msg_content='使用php程序修改数据...' where msg_id=2";
$res = mysqli_query($link, $update_sql);
*/
if(!$res){
exit('执行失败!');
}
$rows = mysqli_affected_rows($link);
echo '执行对应的sql影响了' . $rows . '行';</code></pre>
<p> </p>
查看该视频教程