2013-10-14 29 views
0

我試圖從經典的MySQL來的mysqli通過..mysqli的程序準備好的發言

我選擇使用,而不是程序用面向對象的,但我發現在面向對象的方式更加的例子..

我需要編碼的一部分,我會檢查一個值是否已經在數據庫記錄中的驗證方面。

我來的這部分代碼,它的工作,但我不能肯定,如果我錯過了一些部分,或者如果我已經包括了不必要的報表..

$con = mysqli_connect("localhost","username","password","db"); 
// Check connection 
if (mysqli_connect_errno($con)) { 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$stmt = mysqli_prepare($con, "SELECT email FROM table WHERE email= ? "); 
mysqli_stmt_bind_param($stmt, 's', $email); 
mysqli_stmt_execute($stmt); 
mysqli_stmt_bind_result($result); 
mysqli_stmt_store_result($stmt); 
if (mysqli_stmt_num_rows($stmt) > 0) { 
     some code 
     } 
    else { 
     some other code 
     } 

我最關注這兩條線

mysqli_stmt_bind_result($result); 
mysqli_stmt_store_result($stmt); 

尤其是

mysqli_stmt_bind_result($result); 

感覺不是neces薩利而

mysqli_stmt_store_result($stmt); 

似乎是根據php.net必要似乎有必要進行臨時存儲..

回答

0

我不認爲你需要或者,真的。您應該能夠使用mysqli_stmt_get_result獲得結果集,然後使用您的常規結果集功能(即mysqli_fetch_assoc

+0

我試過了mysqli_stmt_get_result,但頁面會打破沒有wome明顯的原因..我找到了一個關於缺少插件的參考服務器? Iwasnt .. – nikolas

+1

你使用的是mysqlnd驅動程序嗎?在'phpinfo()'輸出中查找'mysqli'塊。記下客戶端API的版本。它應該說mysqlnd – Machavity

+0

你能否詳細說明一下,我該怎麼檢查以及如何? – nikolas