php中mysqi_query和mysqli_real_query的區別

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章