假設我有這樣的PHP代碼上:SQL - 致命錯誤:調用一個成員函數bind_param()非對象
$emailCheck = $_POST['emailCheck'];
echo "Checking: " . $emailCheck; // Checking: [email protected]
var_dump($stmt);
$sql = "SELECT id, email FROM members WHERE email=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $emailCheck);
$stmt->execute();
$stmt->bind_result($m_id, $m_email);
$stmt->execute();
和我的數據庫:
你可以看到,我可以從PHPMyAdmin獲得它。然而,PHP頁面是另一回事,因爲我得到:
Fatal error: Call to a member function bind_param() on a non-object in...
違例的線是:
$sql = "SELECT id, email FROM members WHERE email=?";
我在做什麼錯?
謝謝。
一旦這樣var_dump($stmt);
,我得到:
object(mysqli_stmt)[4]
public 'affected_rows' => null
public 'insert_id' => null
public 'num_rows' => null
public 'param_count' => null
public 'field_count' => null
public 'errno' => null
public 'error' => null
public 'error_list' => null
public 'sqlstate' => null
public 'id' => null
編輯:儘管是作爲描述性的,因爲我可以我得到downvoted。優雅。
@ usermesam0023 ...是的。上面的圖片顯示...... –
嘗試轉儲$ stmt的值?我想你可能會在那裏變得虛假。 – SMA
你從不測試你的準備失敗 - 'if($ stmt = $ mysqli-> prepare(...)){$ stmt-> bind_param(...); ...} else {printf(「錯誤信息:%s \ n」,$ mysqli-> error); }' – Sean