2012-12-13 55 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

相关问题