我正在制作一个从mysql数据库中检索用户信息的个人资料页面。但是,我收到一条错误,指出“SQL错误:未知列”''''在' where子句'' 这是我定义$ userid的代码:
<?php
$db = new mysqli("localhost", "root", "", "dbname");
if ($db->connect_errno) {
echo "Connect failed: " . $db->connect_error;
exit();
}
$query="SELECT * FROM login_details";
if ($result = $db->query($query)) {
while ($row= $result->fetch_assoc()) {
$userid=$row["id"];
}
}
?>
这里是我想要检索的信息的php,我已经检查了mysql上的查询并且它有效,所以我认为$ userid不是正确的值?或者我使用会话代码搞砸了。
<?php
$query = "SELECT * FROM `authors`, `login_profile`, `login_details` WHERE `authors`.`id` = `login_profile`.`author_id` AND `login_profile`.`user_id` = `login_details`.`id` AND `login_details`.`id` = `".$userid."'";
if ($result = $db->query($query)) {
while ($row= $result->fetch_assoc()) {
echo "<li>".$row["Bio"]."</li>";
echo "<li>".$row["Contact"]."</li>";
}
} else {
echo "SQL Error: ". $db->error;
}
?>
答案 0 :(得分:2)
你在
中有反复AND `login_details`.`id` = `".$userid."'
^ right there
应该是单引号
AND `login_details`.`id` = '".$userid."'
这解释了为什么你会收到目前的错误。
SQL错误:'where子句
中的未知列'4''