我试图使用以下 if/else 语句来构建查询,但在第一步评估 NULL 时遇到问题。
在网上搜索后,我似乎无法追踪我做错了什么......我应该使用空引号来代替:""
?
不过,这也给了我一个错误。
所以我不知道问题出在第一个块还是第二个块,也就是while
循环。
有什么建议么?
$name = $_POST['Your_name'];
if ($location != "All" && $name == NULL) $query="SELECT * FROM talent WHERE duty_station='$location')";
else if($location == "All" && $name != "All" ) $query="SELECT * FROM talent WHERE Your_name IN ('$name')";
else if($dutyReq != "All" && $name == "All" ) $query="SELECT * FROM talent WHERE duty_station='$location'";
else if($location == "All" || $name == "All" ) $query="SELECT * FROM talent";
然后我打印数据的循环给了我这个错误:
警告:mysql_fetch_array():提供的参数不是第64行/var/www/html/talent/searchresults.php中的有效 MySQL 结果资源
这是错误来自的代码:
$result=mysql_query($query);
mysql_query($result);
echo "<table border='1'>
<tr>
<th>Your name</th>
<th>duty station</th>
<th>first proficiency</th>
</tr>";
while($row = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['Your_name'] . "</td>";
echo "<td>" . $row['duty_station'] . "</td>";
echo "<td>" . $row['prof_order_processing'] . "</td>";
echo "</tr>";
}
echo "</table>";