根据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');
}