PHP MySqli查询无效但脚本标记内没有错误

时间:2014-03-12 17:19:52

标签: javascript php mysql sql mysqli

我目前有一个系统,用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)什么都没有回到$做 2)查询是(我很确定)正确 3)DIE(mysql_error());

没有显示错误

我很感激有关如何使其发挥作用的一些帮助。

1 个答案:

答案 0 :(得分:0)

刚看到错误 - 你没有逃避javascript strin(在引用之前使用双引号:&#34;在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}'\");