query()方法,query方法
執行SQL命令,無論如何通過PHP指令碼與Mysql資料庫互動,過程都是一樣的,建立一個SQL語句,再傳遞給執行查詢的函數。
在mysqli類中提供了幾種執行SQL命令的方法,其中最常用的是query()方法。
對於insert、update、delete等不會返回資料的SQL命令,query()方法在SQL命令成功執行時返回true。在此基礎上還可以通過mysqli對象中的affected_rows屬性獵取有多少條記錄發生變化而且使用mysqli對象中的insert_id()方法可以返回最後一條insert命令產生的AUTO_INCREMENT編號值。
如果在執行SQL命令發生錯誤,query()方法將返回false,此時可以通過mysqli對象中的errno、error屬性擷取錯誤編號和錯誤原因。
註:query()方法每次調用只能執行一條SQL命令,如果想一次執行多條命令,就必須使用mysqli對象中的multi_query()方法。如果想以不同的參數多次執行一條SQL命令,最有效率的辦法是先對那條命令做一些預先處理然後再執行。
<?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();
?>