根據mysqli_query 的官方解釋
For non-DML queries (not INSERT, UPDATE or DELETE), this function is similar to calling mysqli_real_query() followed by either mysqli_use_result() or mysqli_store_result().
對於非 DML 性質的操作,mysqli_query 的效果和 mysqli_real_query()之後執行mysqli_store_result()的效果是一致的
也就是說,對於SELECT 操作,mysqli_query()執行之後會返回結果集,類似 mysqli_real_query() 後執行 mysqli_store_result()
同樣,mysqli_real_query()的返回結果爲一個bool值,用於判斷這次執行是否正確,再讓用戶自行進行後面的解析操作
<?php
$con = @new mysqli('127.0.0.1', 'root', 'testsecret');
if ($con->connect_errno) {
die('Connect Error ' . $con->connect_error);
}
// 直接執行query
$query = $con->query("SHOW DATABASES");
var_dump($query->fetch_all());
$real_query = $con->real_query("SHOW DATABASES");
if ($real_query) {
var_dump($con->store_result());
} else {
die('error');
}