2012-12-13 60 views
2

我已經搜索了很多其他人發佈的問題,但我仍然無法找到我的代碼出了什麼問題。我沒有太多可以找到類似於我的地方,我發現大多數是用OO方法。mySQLi Prepared Statement

我已經試過這樣:

$query = "SELECT * FROM userinfo WHERE (username = '?')"; 

if($stmt = mysqli_prepare($mysqli, $query)) 
{ 
    mysqli_stmt_bind_param($stmt, "s", $login_username); 
    mysqli_stmt_execute($stmt); 

} 

AND:

$query = "SELECT re_password FROM userinfo WHERE (username = '?')"; 

if($stmt = mysqli_prepare($mysqli, $query)) 
{ 
    mysqli_stmt_bind_param($stmt, "s", $login_username); 
    mysqli_stmt_execute($stmt); 

} 

我仍然收到此消息:mysqli_stmt_bind_param()[function.mysqli-語句綁定 - PARAM]:變量數不匹配準備語句中的參數數量

我認真需要一些大的幫助。我曾經在mySQL中做過,我不知道或者不知道如何準備陳述的方式。現在我正在學習mySQLi,並學習如何使用準備語句同時進行編碼。不管我怎麼看手冊,我仍然不明白。

此外,OO或程序方法中的代碼是否有任何偏好或優點/缺點?

謝謝你們!

+0

你應該已經簽出的例子在http://in3.php.net/manual/en/mysqli.prepare.php你張貼了這個問題恕我直言 –

回答

3

嘗試更換'?'有:?

$query = "SELECT * FROM userinfo WHERE username = ?"; 

if($stmt = mysqli_prepare($mysqli, $query)) 
{ 
    mysqli_stmt_bind_param($stmt, "s", $login_username); 
    mysqli_stmt_execute($stmt); 

} 
+0

前...哎呀!它正在工作!謝謝! =)稍後會接受此答案,需要等待。 – Dr3am3rz

相關問題