2015-01-04 104 views
-4

我写这个代码,我收到以下错误:警告: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]; 
} 
?> 
+0

请停止使用装饰的每一个问题“请帮助我”。 – mario 2015-01-04 13:15:28

回答

0

你的内部查询,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'"); 
相关问题