我有一个包含2条记录的数据库:
id | message | date | user | option
---+-----------+-------------+-----------+--------
1 | Welcome | 2015-03-01 | | 0
2 | message | 2015-03-05 | admin | 0
我尝试做的是,如果用户字段为空,则会向所有用户显示该消息,如果列出了用户名(,例如此示例中的管理员),它显示该用户的一个,如果存在则显示空白消息。
现在,如果用户是Pam
(它应该只显示ID 1 ),它将显示这两条消息。
如果用户是管理员,则会显示这两条消息。
似乎忽略了user = '$zuser'
我做错了什么?
<?php
ini_set('display_errors',1); error_reporting(E_ALL);
$zuser=$_COOKIE['aauser'];
$result = mysqli_query($con,"SELECT * FROM message WHERE (user = '$zuser' OR run_date >= CURDATE() AND user='')");
while($quick = mysqli_fetch_array($result))
{
echo $quick['message'];
echo '<script>alert("'.$quick['message'].'");</script>';
}
?>
答案 0 :(得分:1)
发现我的问题@Fred-ii-这是一个骨头错误我忘了饼干只在第二页加载后设置!!!
感谢您的帮助!
<?php
ini_set('display_errors',1); error_reporting(E_ALL);
echo $zuser=$_GET['usrname'];
$result = mysqli_query($con,"SELECT * FROM message WHERE user = '$zuser' OR run_date >= CURDATE() AND user=''");
while($quick = mysqli_fetch_array($result))
{
echo $quick['message'];
echo '<script>alert("'.$quick['message'].'");</script>';
}
?>
答案 1 :(得分:0)
更改此行:
$result = mysqli_query($con,"SELECT * FROM message WHERE (user = '$zuser' OR run_date >= CURDATE() AND user='')");
为:
$result = mysqli_query($con,"SELECT * FROM message WHERE user = '$zuser' OR ( run_date >= CURDATE() AND user='')");