运行查询时出错[未知栏'测试'在' where子句']

时间:2016-07-28 11:49:19

标签: php mysqli phpmyadmin

我有一个名为" username"的行的数据库。我需要根据登录的用户名显示另一行的值。为此,我有以下脚本:

$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>

但我收到此错误:运行查询时出错[未知栏&#39;测试&#39;在&#39; where子句&#39;]。

&#34;测试&#34;是用来测试代码的假用户名。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

只需将您的用户名变量放在SQL中的引号内,如下所示:'$username'

SELECT * FROM `users` WHERE username ='$username'

答案 1 :(得分:0)

哟必须确保将$username置于双引号或单引号内,如:'$username'