本帖最后由 up704 于 2012-07-18 07:20:43 编辑

解决方案 »

  1.   

    $list ="'我是特别的','你好1','你好2','你好3'";$list .= "'" . $nm['xm'].($i+1) . "'" .',';
      

  2.   


    $list .= "'" . $nm['xm'].($i+1) . "'" .',';并不会循环,而且提示错误,没有能获取到任何数据,查询失败
      

  3.   

    $list="";
        $car = array('name'=>array(0=>array('xm'=>'我是特别的'),1=>array('xm'=>'你好'), 2=>array('xm'=>'你好'), 3=>array('xm'=>'你好')));
        if(!$car['name']){
            $list='Nothing';
        }else{
            $i = 1;
            foreach($car['name'] as $nm)
            {
                if(strstr($list,$nm['xm']) && $i == 1)
                {
                    $list = str_replace($nm['xm'],$nm['xm'].$i,$list);
                    $list .= "'" .$nm['xm'].($i+1). "'";
                    $i++;
                }else{
                    if(strstr($list,$nm['xm']))
                    {
                        $list .= "'" .$nm['xm'].($i+1). "'" ;
                        $i++;
                    }else{
                        $list .= "'" .$nm['xm']. "'" .',';
                    }
                }
            }
        }$list输出结果为:'我是特别的','你好1','你好2','你好3',但是$sql="SELECT * FROM table where table.title in ($list) limit 0,10";依然查询不到任何数据
      

  4.   

    能否找到结果,得看 title 中是否有吧?
      

  5.   


    可以确认,title有输出的结果,因为如果使用:$list ="'我是特别的','你好1','你好2','你好3'";
    $sql="SELECT * FROM table where table.title in ($list) limit 0,10";
    的话,以上sql语句是可以查询出来的
      

  6.   


    $list ="'我是特别的','你好1','你好2','你好3'";
    $sql="SELECT * FROM table where title in ($list) limit 0,10";
      

  7.   

    header("content-type:text/html; charset=utf-8");
    $mysql_server_name='localhost';    
    $mysql_username='root';     
    $mysql_password='123456';    
    $mysql_database='test';   
    $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);   
    mysql_select_db('456789');
    mysql_query("SET NAMES UTF8",$conn);
    $list="'我是特别的','你好1','你好2','你好3'";
    $sql="SELECT * FROM table where table.title in ($list) limit 0,10";
    $result=mysql_query($sql,$conn);
    while($submit = mysql_fetch_array($result)) {
      echo $submit["id"];
      echo $submit["title"]."<br>";
    }
    输出结果为:10我是特别的<br>11你好1<br>12你好2<br>13你好3<br>
      

  8.   

    header("content-type:text/html; charset=utf-8");
    $mysql_server_name='localhost';    
    $mysql_username='root';     
    $mysql_password='123456';    
    $mysql_database='test';   
    $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);   
    mysql_select_db('456789');
    mysql_query("SET NAMES UTF8",$conn);
    $list="";
        $car = array('name'=>array(0=>array('xm'=>'我是特别的'),1=>array('xm'=>'你好'), 2=>array('xm'=>'你好'), 3=>array('xm'=>'你好')));
        if(!$car['name']){
            $list='Nothing';
        }else{
            $i = 1;
            foreach($car['name'] as $nm)
            {
                if(strstr($list,$nm['xm']) && $i == 1)
                {
                    $list = str_replace($nm['xm'],$nm['xm'].$i,$list);
                    $list .= "'" .$nm['xm'].($i+1). "'";
                    $i++;
                }else{
                    if(strstr($list,$nm['xm']))
                    {
                        $list .= "'" .$nm['xm'].($i+1). "'" ;
                        $i++;
                    }else{
                        $list .= "'" .$nm['xm']. "'" .',';
                    }
                }
            }
        }
    $sql="SELECT * FROM table where table.title in ($list) limit 0,10";
    $result=mysql_query($sql,$conn);
    while($submit = mysql_fetch_array($result)) {
      echo $submit["id"];
      echo $submit["title"]."<br>";
    }其中$list输出结果为:'我是特别的','你好1','你好2','你好3'
    但是mysql提示错误:mysql_fetch_array(): supplied argument is not a valid MySQL result resource 
      

  9.   

    是正确的,因为$list这个值不一定是'我是特别的','你好1','你好2','你好3'有可能会是其他的,所以需要循环成:$list="";
        $car = array('name'=>array(0=>array('xm'=>'我是特别的'),1=>array('xm'=>'你好'), 2=>array('xm'=>'你好'), 3=>array('xm'=>'你好')));
        if(!$car['name']){
            $list='Nothing';
        }else{
            $i = 1;
            foreach($car['name'] as $nm)
            {
                if(strstr($list,$nm['xm']) && $i == 1)
                {
                    $list = str_replace($nm['xm'],$nm['xm'].$i,$list);
                    $list .= "'" .$nm['xm'].($i+1). "'";
                    $i++;
                }else{
                    if(strstr($list,$nm['xm']))
                    {
                        $list .= "'" .$nm['xm'].($i+1). "'" ;
                        $i++;
                    }else{
                        $list .= "'" .$nm['xm']. "'" .',';
                    }
                }
            }
        }
    这样,但是这样并不能查询出任何数据,提示:mysql_fetch_array(): supplied argument is not a valid MySQL result resource
      

  10.   

    你有
    $sql="SELECT * FROM table where table.title in ($list) limit 0,10";
    我让你贴出
    echo $sql;
    的结果!拿到就那么难吗?
      

  11.   

    SELECT * FROM table where table.title in ('我是特别的','你好1','你好2','你好3') limit 0,10
    不好意思,理解错误