dqwh1219 2014-02-06 06:54
浏览 53
已采纳

将数组传递给sql查询无法正常工作[重复]

<?php
require_once("dbdata.php");
if(mysql_connect($server_name,$Db_user,$Db_pass))
 {
if(mysql_select_db($Database_name))
   {
     $display_scores = "SELECT DISTINCT User_id, Quiz_id, Parent_Category,Category_Name, Score FROM custom_question_details where User_id = 3";
     $results = mysql_query($display_scores);
     $scores = array();
     $s_p = array();
     while($rows = mysql_fetch_assoc($results))
     {
        $scores[] = $rows; 
        $s_p [] = $rows['Parent_Category'];
     }
     $imp = implode(',',$s_p);
     $child_sql = "SELECT DISTINCT Category_Name FROM custom_question_details WHERE Parent_Category IN (".$imp.")";
     $child_result = mysql_query($child_sql);
     $child_array = array();
     while($fetch_child_results = mysql_fetch_assoc($child_result))
     {
         $child_array[] = $fetch_child_results;
     }
     print_r($child_array);
   }
 }
?>

I am getting this error

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in line ...

while passing $imp to $child_sql query. But if I give some string like 'Sample' statically which is in db instead of $imp variable i obtain the result. what is the problem in passing $imp variable in passing the query.

</div>
  • 写回答

5条回答 默认 最新

  • dongshuohuan5291 2014-02-06 07:13
    关注

    you must enquote values in IN clause

    try this

    $s_p [] = "'".$rows['Parent_Category']."'";
    

    instead of

    $s_p [] = $rows['Parent_Category'];
    

    now use it

    $imp = implode(',',$s_p);
         $child_sql = "SELECT DISTINCT Category_Name FROM custom_question_details WHERE Parent_Category IN (".$imp.")";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!