一、mysqli_query返回值
mysqli_query()函數是PHP提供的一種連接MySQL數據庫並執行SQL語句的方法。當執行成功時,返回值為一個結果集,可以通過fetch_object()、fetch_array()、fetch_assoc()等方法獲取其中的數據。
<?php //連接數據庫 $conn = mysqli_connect("localhost", "username", "password", "database"); //執行查詢語句 $result = mysqli_query($conn, "SELECT * FROM users"); //遍歷結果集 while($row = mysqli_fetch_assoc($result)) { //處理數據 } //關閉連接 mysqli_close($conn); ?>
當執行失敗時,mysqli_query()會返回false,可以通過mysqli_error()函數獲取具體的錯誤信息。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); //SQL語法錯誤 $result = mysqli_query($conn, "SELECT name, age FROM users WHERE"); if(!$result) { echo mysqli_error($conn); } mysqli_close($conn); ?>
二、mysql query函數
mysqli_query()是mysqli擴展中的一個方法,與之相對應的是mysql_query()函數,是PHP舊版本中的一種連接MySQL數據庫並執行SQL語句的方法。
與mysqli_query()不同的是,mysql_query()函數只能夠連接MySQL 4.1.x及以下版本的數據庫,並且執行失敗時會直接輸出錯誤信息,而不是返回false。
<?php $conn = mysql_connect("localhost", "username", "password"); mysql_select_db("database", $conn); $result = mysql_query("SELECT * FROM users"); while($row = mysql_fetch_assoc($result)) { //處理數據 } mysql_close($conn); ?>
三、php mysql query
mysqli_query()函數不僅可以連接MySQL數據庫並執行SQL語句,還可以執行一些針對數據庫的操作,如獲取數據庫的版本號、獲取最近一次插入的自增ID等。
要獲取數據庫的版本號,可以使用以下代碼:
<?php $conn = mysqli_connect("localhost", "username", "password"); echo mysqli_get_server_info($conn); mysqli_close($conn); ?>
要獲取最近一次插入的自增ID,可以使用mysqli_insert_id()函數,該函數必須在執行插入操作之後立即調用,否則會返回0。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); mysqli_query($conn, "INSERT INTO users(name, age) VALUES('Tom', 18)"); echo mysqli_insert_id($conn); mysqli_close($conn); ?>
四、mysqli查詢
mysqli_query()函數還可以執行其他類型的SQL語句,如更新、插入和刪除。要執行更新語句,可以使用以下代碼:
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); mysqli_query($conn, "UPDATE users SET age = 20 WHERE name = 'Tom'"); mysqli_close($conn); ?>
要執行插入和刪除語句,可以使用以下代碼:
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); mysqli_query($conn, "INSERT INTO users(name, age) VALUES('Tom', 18)"); mysqli_query($conn, "DELETE FROM users WHERE name = 'Tom'"); mysqli_close($conn); ?>
五、query函數用法
mysqli_query()函數還可以與其他函數結合使用,如mysqli_num_rows()函數可以獲取結果集中的行數。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); $result = mysqli_query($conn, "SELECT * FROM users"); echo mysqli_num_rows($result); mysqli_close($conn); ?>
mysqli_affected_rows()函數可以獲取插入、更新和刪除操作影響的行數。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); mysqli_query($conn, "UPDATE users SET age = 20 WHERE name = 'Tom'"); echo mysqli_affected_rows($conn); mysqli_close($conn); ?>
mysqli_field_count()函數可以獲取結果集中的列數。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); $result = mysqli_query($conn, "SELECT * FROM users"); echo mysqli_field_count($conn); mysqli_close($conn); ?>
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187175.html