2014-02-19 38 views
0

当我使用get_result()的代码将停止,这是我的代码:mysqli prepared statement get_result()?

$conn = new mysqli($hostdb, $userdb,$passdb,$datadb); 
if(!$conn){ 
    die(print($errormsg)); } 
$ris = $conn->prepare("SELECT * FROM users WHERE user='?' ;"); 
$ris->bind_param("s" , $user); 
$ris->execute(); 
$result = $ris->get_result(); 
echo $result->error; 
$ris1 = $result->fetch_array(MYSQLI_ASSOC); 

echo $result->error;是空的。

解决 错误在SQL查询

+0

我不认为这个问题应该关闭。 –

回答

1

它不起作用,因为使用预处理语句时,不需要为字符串,日期等编写报价。 bind_param方法自动为你做。

也删除';'在句末。

+0

我改变了它,但我有过这个bug ... – Carbos

+0

把代码放在try/catch块中,然后回显异常消息 –

+0

尝试{result = $ ris-> get_result (); (异常$效果){ } echo $ effe-> getMessage(); } 我尝试这样做,但它打印任何东西 – Carbos

0

试试这个:

$ris = $conn->prepare("SELECT * FROM users WHERE user=?"); 

当你与预处理语句工作,normaly你不声明占位符时使用任何'

+0

我这样做,但我有过这个bug ... – Carbos

+0

什么** var_dump($ ris1); ** print? – Johnny000

+0

什么都没有...它是空的 – Carbos

相关问题