我目前有一个系统,通过 mysqli 查询生成用户列表,并且对于每个用户,都会回显一个选择选项:
$result = mysqli_query($db, "SELECT * FROM `users` WHERE `user_id` > 0");
echo '<html><select id="contacts" onchange="announce(this.value)"><option value="Contact list">Contact List</option>';
while($row = $result->fetch_assoc()){
echo '<option value = '.$row['user_name'].'>'.$row['user_name'] . '</option>';
}
echo '</select>';
我需要选择一个值,其中user
等于使用此选择框选择的用户。所以,这就是为什么有这个 JavaScript:
function announce(user_name){
document.getElementById("Divvy").innerHTML="<?php
$user='"+user_name+"';
if($user != 'Contact list'){
$result = mysqli_query($db, "SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'");
while($row = $result->fetch_assoc()){
$doing = print_r($row);
}
echo $user.' is '.$doing;
}
?>";
}
除了数据库查询之外,所有 PHP 都可以工作,对此我很困惑,因为: 1) $doing 没有返回任何内容 2)查询是(我很确定)正确的 3) DIE(mysql_error()) 没有显示任何错误;
我希望得到一些有关如何使其发挥作用的帮助。
最佳答案
刚刚看到错误 - 您没有转义 javascript 字符串(在 SELECT 语句之前和查询完成之后使用双引号来引用:“)。
替换
$result = mysqli_query($db, "SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'");
与 一个
$result = mysqli_query($db, \"SELECT `is_doing` FROM `users` WHERE `users`.`user_name` = '{$user}'\");
关于javascript - PHP MySqli 查询无法正常工作,但脚本标记内没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359135/