我的sql select查询在phpmyadmin中有效但在我的php代码中无效。这是我的代码。请帮我找一个解决方案。提前谢谢你的帮助
$conn=mysqli_connect("localhost","root","");
if(!$conn) {
die(mysqli_error());
}
$db=mysqli_select_db($conn,"dbname");
if(!$db) {
die(mysqli_error());
}
$to_date=$_REQUEST['to_date'];
$r_date=$_REQUEST['date'];
$role=$_REQUEST['role'];
$user_name=$_REQUEST['user'];
if($_REQUEST['role']='all'||$_REQUEST['role']="") {
$sql="SELECT *
FROM `daily_log`
WHERE date BETWEEN '$r_date'AND '$to_date'
AND category='Activity'";
}else{
$sql="SELECT *
FROM `daily_log`
WHERE category='Activity'
AND assigned_to = '$user_name'
AND date BETWEEN '$r_date' AND '$to_date'";
echo $sql;
}
$exe=mysqli_query($conn,$sql);
$i=1;
while($row=mysqli_fetch_array($exe)) {
...table rows..
}
答案 0 :(得分:0)
您的第一个查询在'$r_date'AND
附近有语法问题在'$r_date'
和AND
最后查询将是:
$sql="SELECT *
FROM `daily_log`
WHERE date BETWEEN '$r_date 'AND '$to_date'
AND category='Activity'";
您应该在问题中包含mysql错误信息。
并修复此if($_REQUEST['role']='all'||$_REQUEST['role']="") {
。您正在为$_REQUEST['role']
分配值而不进行比较。