bind_param 不工作(在非对象上)mysqli 准备语句
bind_param not working (on a non-object) mysqli prepared statement
到目前为止,我已经阅读了大约 15 篇关于此类问题的帖子 none,其中对我有所帮助。
我有以下代码:
$stmt3 = $mysqli->prepare("SELECT cc.name, cc.company, cc.email FROM (`case_contacts` cc) WHERE cc.case_id=? AND cc.end_date IS NULL");
if (is_object($stmt3)) {
$stmt3 -> bind_param("i", $case_id);
} else {
die('Connection issue');
}
$stmt3 -> execute();
$stmt3 -> bind_result($name, $company, $email);
while ($stmt3->fetch()) {
当我执行时它会提示 "Connection issue"。不过就在$stmt3
之前我可以var_dump$mysqli
很开心
我已经将查询手动输入到 phpmyadmin 和在线查询检查器中,并且都确认它是有效的。
我检查了用户的权限,都没有问题。事实上,我正在重写从 mysql 到 mysqli 的查询,并希望使用准备好的语句。所以数据库用户是一样的。我对其他比这更复杂的准备好的陈述没有任何问题,所以我真的对我所缺少的东西感到茫然。
我什至过度使用了语句中的 '`' 引号换行符,因为我知道我应该在每个查询中使用它!
任何建议、调试技巧都会很棒。我环顾四周,发现没有提供输出。
mysqli_stmt::prepare ( string $query )
return TRUE
或 FALSE
阅读更多:
您可以使用这个例子:
<?php
$mysqli = mysqli_connect('localhost', 'root', 'admin', 'test');
$case_id = 603;
$sentence = $mysqli->stmt_init();
if($sentence->prepare("SELECT name, company, email FROM case_contacts WHERE case_id = ? AND end_date IS NULL")) {
$sentence->bind_param("i", $case_id);
$sentence->execute();
$sentence->bind_result($name, $company, $email);
while ($sentence->fetch()) {
echo $name . ' - ' . $company . ' - ' . $email;
}
}
到目前为止,我已经阅读了大约 15 篇关于此类问题的帖子 none,其中对我有所帮助。
我有以下代码:
$stmt3 = $mysqli->prepare("SELECT cc.name, cc.company, cc.email FROM (`case_contacts` cc) WHERE cc.case_id=? AND cc.end_date IS NULL");
if (is_object($stmt3)) {
$stmt3 -> bind_param("i", $case_id);
} else {
die('Connection issue');
}
$stmt3 -> execute();
$stmt3 -> bind_result($name, $company, $email);
while ($stmt3->fetch()) {
当我执行时它会提示 "Connection issue"。不过就在$stmt3
之前我可以var_dump$mysqli
很开心
我已经将查询手动输入到 phpmyadmin 和在线查询检查器中,并且都确认它是有效的。
我检查了用户的权限,都没有问题。事实上,我正在重写从 mysql 到 mysqli 的查询,并希望使用准备好的语句。所以数据库用户是一样的。我对其他比这更复杂的准备好的陈述没有任何问题,所以我真的对我所缺少的东西感到茫然。
我什至过度使用了语句中的 '`' 引号换行符,因为我知道我应该在每个查询中使用它!
任何建议、调试技巧都会很棒。我环顾四周,发现没有提供输出。
mysqli_stmt::prepare ( string $query )
return TRUE
或 FALSE
阅读更多:
您可以使用这个例子:
<?php
$mysqli = mysqli_connect('localhost', 'root', 'admin', 'test');
$case_id = 603;
$sentence = $mysqli->stmt_init();
if($sentence->prepare("SELECT name, company, email FROM case_contacts WHERE case_id = ? AND end_date IS NULL")) {
$sentence->bind_param("i", $case_id);
$sentence->execute();
$sentence->bind_result($name, $company, $email);
while ($sentence->fetch()) {
echo $name . ' - ' . $company . ' - ' . $email;
}
}