运行查询时出现错误['where column'中的未知列'test']
问题描述:
我有一个名为“username”的行的数据库。我需要证明取决于所登录的用户名,其他行的值要做到这一点,我有以下脚本:运行查询时出现错误['where column'中的未知列'test']
$db = new mysqli('', '', '', '');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = <<<SQL
SELECT * FROM `users` WHERE username = $username
SQL;
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
$text_cli = $row['text_cli'];
$text_trad = $row['text_trad'];
}
和$username
值被预先存储。
最后:
<div id="text_cli"><?php echo $text_trad ?></div>
<div id="text_cli"><?php echo $text_cli ?></div>
但我得到这个错误:在“where子句”未知列“测试”]有运行查询错误。
“测试”是为验证代码而创建的虚假用户名。
谢谢你的帮助。
答
只要把引号内您的用户名变量在SQL这样的:'$username'
SELECT * FROM `users` WHERE username ='$username'
+0
非常感谢您的帮助 – alberzyzz
在'用户名失踪报价= $ username'更好地使用[准备语句](http://php.net/manual/en/mysqli.prepare.php)!! – Saty
请使用用户名='“。$ username。”' – Anshum