2017-03-09 117 views
-5

我對PHP開發非常陌生,我在想什麼是執行MySQLi查詢的正確方法。以下是我在網上從教程和資源中注意到的兩件事情。運行MySQL查詢的正確方法

基本上這個存儲一切變量;

//$con is a database connection 
$query = mysqli_query($con, "SELECT* FROM table"); 

那麼這一個存儲的語法,然後使用它的mysqli_query()語句

$query = "SELECT* FROM table"; 
mysqli_query($con, $query); 

當代碼運行,即使它只是存儲在一個變量將在第一個還是執行運行?

+1

'基本上這一個存儲在一個變量的一切;' - 是......也不是。不直接。它將'mysqli_query'的結果存儲在變量'$ query'中。兩個示例的工作方式都完全相同。他們之間並沒有真正的區別。我會一直推薦第二個,因爲如果你需要第二次使用你的查詢,你可以改變這個'$ query'字符串一次,並且你不必在每個'mysqli_query'函數中找到每個單一的查詢。 – Twinfriends

+0

^那麼說。無論語法如何,您仍然必須以您打算使用它們的任何方式獲取結果。 –

+0

*「代碼運行時,第一個仍然會執行,即使它只存儲在變量中?」* ** A:**只有在沒有錯誤的情況下。 –

回答

0

請訪問: http://php.net/manual/en/mysqli.query.php

mysqli_query()

失敗

返回FALSE。對於成功的SELECT,SHOW,DESCRIBE或EXPLAIN查詢,mysqli_query()將返回一個mysqli_result對象。對於其他成功的查詢,mysqli_query()將返回TRUE。

爲了使用mysqli_result對象或測試句子是否失敗,您必須保存mysqli_query()的返回值。

http://php.net/manual/en/class.mysqli-result.php

所以要執行的代碼的正確方法是:

//$con is a database connection 
$query = mysqli_query($con, "SELECT* FROM table"); 

if(!$query) { 
    // iterate the variable 
}