这是我的代码:
/* database connection tested and working*/
if (!($sql = $mysqli->prepare("SELECT username FROM users WHERE username=?")))
{
echo "Prepare failed";
}
if (!$sql->bind_param("i", `ryan`))
{
echo "Binding parameters failed";
}
if (!$sql->execute())
{
echo "Execute failed";
}
到目前为止,一切正常,没有错误显示,我可以print_r
$sql
数组。
一旦我添加此代码:
$result = $sql->get_result();
我收到错误消息“网站无法显示该网页”。我删除它,它工作正常。
PS:这是$sql
mysqli_stmt Object ( [affected_rows] => -1 [insert_id] => 0 [num_rows] => 0 [param_count] => 1 [field_count] => 1 [errno] => 0 [error] => [error_list] => Array ( ) [sqlstate] => 00000 [id] => 1 )
答案 0 :(得分:0)
尝试添加这些代码行以进行错误报告。您可以更好地描述问题。
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
答案 1 :(得分:0)
只有安装了MySQLnd才能使用 get_result 功能。
答案 2 :(得分:0)
第一件事:
if (!$sql->bind_param("i", `ryan`))
{
echo "Binding parameters failed";
}
应该是:
if (!$sql->bind_param("s", 'ryan'))
{
echo "Binding parameters failed";
}
你有``
包裹ryan
和i
的反引号,这是整数而不是字符串。
-i corresponding variable has type integer
-d corresponding variable has type double
-s corresponding variable has type string
-b corresponding variable is a blob and will be sent in packets