到目前为止,我已经阅读了大约15篇关于此类问题的帖子,但这些都没有能够帮助我。
我有以下代码:
$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()) {
当我执行时,建议"连接问题"。但是在$stmt3
之前,我可以非常高兴地看到var_dump $mysqli
。
我已经手动将查询输入phpmyadmin和在线查询检查器,并且都确认它是有效的。
我已经检查了用户的权限,他们都很好。事实上,我正在重写从mysql到mysqli的查询,并希望使用预处理语句。所以数据库用户是一样的。我对其他准备好的陈述没有任何问题,这更复杂,所以我真的不知所措。
我甚至过度使用了'`'我知道我应该在每个查询中对语句进行报道!
任何建议,调试技巧都会很棒。我看了一下,我发现的那些没有提供输出。
答案 0 :(得分:1)
mysqli_stmt::prepare ( string $query )
返回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;
}
}