我正在尝试使以下代码正常工作,但无法访问execute()
line.
$mysqli = $this->ConnectLowPrivileges();
echo 'Connected<br>';
$stmt = $mysqli->prepare("SELECT `name`, `lastname` FROM `tblStudents` WHERE `idStudent`=?");
echo 'Prepared and binding parameters<br>';
$stmt->bind_param('i', 2 );
echo 'Ready to execute<br>'
if ($stmt->execute()){
echo 'Executing..';
}
} else {
echo 'Error executing!';
}
mysqli_close($mysqli);
我得到的输出是:
Connected
Prepared and binding parameters
那么问题来了should位于第 5 行,但检查的手册bind_param() http://www.php.net/manual/en/mysqli-stmt.bind-param.php我在那里找不到任何语法错误。
绑定参数时,您需要传递一个用作引用的变量:
$var = 1;
$stmt->bind_param('i', $var);
请参阅手册:http://php.net/manual/en/mysqli-stmt.bind-param.php http://php.net/manual/en/mysqli-stmt.bind-param.php
注意$var
实际上不必定义即可绑定它。以下内容完全有效:
$stmt->bind_param('i', $var);
foreach ($array as $element)
{
$var = $element['foo'];
$stmt->execute();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)