履行SQL命令,不管如何通过PHP脚本与Mysql
数据库交互,进程都是1样的,创建1个SQL语句,再传递给履行查询的函数。
在mysqli类中提供了几种履行SQL命令的方法,其中最经常使用的是query()方法。
对insert、update、delete等不会返回数据的SQL命令,query()方法在SQL命令成功履行时返回true。在此基础上还可以通过mysqli对象中的affected_rows属性猎取有多少条记录产生变化而且使用mysqli对象中的insert_id()方法可以返回最后1条insert命令生成的AUTO_INCREMENT编号值。
如果在履行SQL命令产生毛病,query()方法将返回false,此时可以通过mysqli对象中的errno、error属性获得毛病编号和毛病缘由。
注:query()方法每次调用只能履行1条SQL命令,如果想1次履行多条命令,就必须使用mysqli对象中的multi_query()方法。如果想以不同的参数屡次履行1条SQL命令,最有效力的办法是先对那条命令做1些预处理然后再履行。
<?php
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
if(mysqli_connect_errno()){
printf("连接失败:%s<br>",mysqli_connect_error());
exit();
}
/*履行插入命令,并获得它的自动编号值*/
if($mysqli->query("insert into 表名(列1,列2) value ('值1,值2')")){
echo "改变的记录数:".$mysqli->affected_rows."<br>";
echo "新插入的ID值:".$mysqli->insert_id."<br>";
}
$mysqli->close();
?>