我有一个字符串1集合是..
$str = RP-01,RP-11,RP-12,RP-20,RP-75,RP-92
然后我将该字符串更改为如下所示的数组,以便通过使用内爆()准备查询MySQL
$final = (explode(",",$str));
Array ( [0] => RP-01 [1] => RP-11 [2] => RP-12 [3] => RP-20 [4] => RP-75 [5] => RP-92 )
$result = mysql_query("SELECT report.report_id, report_year, report_status, report_type, teacher_name, abstract, report_position, report_name,
GROUP_CONCAT(student_name ORDER BY student_name ASC SEPARATOR ', ') AS student_name
FROM student RIGHT JOIN report ON student.report_id = report.report_id
WHERE report.report_id IN (".implode(',', $final).") ");
最后,我尝试使用implode()在MySQL中进行查询,最后的结果仍然是
mysql_fetch_array() expects parameter 1 to be resource, boolean given in ....
in line : while($row = mysql_fetch_array($result)){ ..}
为什么总是发生这样的事情。
谢谢所有的人。
发布于 2015-05-21 20:04:38
添加"s -
report.report_id IN ('".implode("','", $final)."') ");字符串必须用引号引起来。
发布于 2015-05-21 20:15:00
$result = mysql_query("SELECT report.report_id,report_year,report_status,report_type,teacher_name,ASC分隔符的抽象,report_position,report_name,GROUP_CONCAT(student_name ORDER BY student_name ASC分隔符',') AS student_name FROM student JOIN report ON student.report_id = report.report_id WHERE report.report_id IN (‘".implode(',',$final).")“');
https://stackoverflow.com/questions/30373160
复制相似问题