2013-05-25 170 views
0


我使用的是一個失敗的準備好的聲明,我不知道爲什麼(不返回錯誤)
這裏是我的代碼:mysqli的準備語句失敗

$stmt = $db->prepare("SELECT id, temps, nom, classes FROM profs WHERE matiere = ? AND pass = 0"); 
if (false===$stmt) { 
    die('prepare() failed: ('.$db->errno.')' . htmlspecialchars($db->error)); 
} 
$rc = $stmt->bind_param("s", $mat); 
if (false===$rc) { 
    die('bind_param() failed: ('.$db->errno.')' . htmlspecialchars($stmt->error)); 
} 
$rc = $stmt->execute(); 
if (false===$rc) { 
    die('execute() failed: ('.$db->errno.')' . htmlspecialchars($stmt->error)); 
} 

這隻會返回:「準備()失敗:(0)「
問題在哪裏?

+1

的ini_set( 'display_errors設置',1); error_reporting(E_ALL); –

+0

@YourCommonSense:沒有任何返回.. – iguider

+0

'mysqli_report(MYSQLI_REPORT_ALL);'會讓你知道什麼地方出錯了...... – Stphane

回答

0

SELECT id, temps, nom, classes FROM profs WHERE matiere = ? AND pass = 0

這是查詢是否有效?是否PROFS表中,並做列(ID,臨時工,NOM,類,matiere,通)存在(並正確拼寫!)

+0

是的..它存在..和列是有效的..:/ – iguider

+0

嘗試'var_dump($ db - > connect_error)' – Farkie

+0

infact,只是'var_dump($ db);'看看出了什麼? – Farkie