警告:mysql_fetch_array expexts参数1是资源
问题描述:
我写这个代码,我收到以下错误:警告:mysql_fetch_array期望参数1是资源!没有字符串的部分“AND sex ='女'' - 这个代码是工作。随着它 - 不工作!警告:mysql_fetch_array expexts参数1是资源
<?php
for($i=0; $i < 12; $i++){
$arr = ["18", "23", "28", "33", "38", "43", "48", "53", "58", "63", "68", "76"];
$arr2 = ["22", "27", "32", "37", "42", "47", "52", "57", "62", "67", "75", "150"];
$emp_query=mysql_query("SELECT COUNT(*)
FROM (SELECT (YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
) e
WHERE age >= $arr[$i] AND age <= $arr2[$i] AND sex='Female'");
$d = mysql_fetch_array($emp_query);
$e[$i]=$d[0];
echo $e[$i];
}
?>
答
你的内部查询,e
,不公开sex
列,所以你不能在上面查询。 您应该移动的条件上sex
到内层查询:
"SELECT COUNT(*)
FROM (SELECT (YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`
FROM `employee`
WHERE sex='Female'
) e
WHERE age >= $arr[$i] AND age <= $arr2[$i]");
,或者暴露在外部查询:
"SELECT COUNT(*)
FROM (SELECT (YEAR(CURRENT_DATE)-YEAR(`birthday`))-(RIGHT(CURRENT_DATE,5)<RIGHT(`birthday`,5)
) AS `age`, sex
FROM `employee`
) e
WHERE age >= $arr[$i] AND age <= $arr2[$i] AND sex='Female'");
请停止使用装饰的每一个问题“请帮助我”。 – mario 2015-01-04 13:15:28