以下代码可以从DB中检索相关结果。但是当结果为null时,它显示
注意:未定义的变量:警告中的myArrayOfemp_id:无效 为foreach()提供的参数。
$result1 = "SELECT leave_id FROM emp_leaves where duty_assign=".$userID;
$array = mysql_query($result1);
$cnt = 0;
while ($row = mysql_fetch_array($array)) {
$myArrayOfemp_id[$cnt] = $row[0];
$cnt++;
}
// var_dump($myArrayOfemp_id);
$sql = "SELECT * FROM emp_leaves WHERE ";
foreach ($myArrayOfemp_id as $value) {
$sql .= " leave_id={$value} || ";
}
$sql .= "1=2";
$result = mysql_query($sql);
$total_results = mysql_num_rows($result);
如何避免显示该错误。请帮忙!
答案 0 :(得分:1)
在while循环
之前初始化数组$ myArrayOfemp_id$myArrayOfemp_id = array();
while ($row = mysql_fetch_array($array)) {
$myArrayOfemp_id[$cnt] = $row[0];
$cnt++;
}
答案 1 :(得分:1)
在将它们放入查询之前,您还应确保转义字符串。请参阅此处以获得更好的解释How to include a PHP variable inside a MySQL insert statement
在while循环之前,如果有任何结果,请与mysql_num_rows()
核对。
答案 2 :(得分:1)
嗨首先,您使用"1=2"
的原因应该是1=1
。第二个在使用之前总是定义数组,因此在while循环之前定义$myArrayOfemp_id = array();
。
为了正确输出,请在执行之前打印$sql
。
echo $sql;
并在Phpmyadmin