SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN('143,137,137,153,88,3') AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1这样写法对吗怎么把变量
$value=143,137,137,153,88,3';传入到
SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN('$value') AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1

解决方案 »

  1.   

    $sql = "SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN('{$value}') AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1";
      

  2.   

    ...  `id` NOT IN({$value})  ...不要单引号!!!
      

  3.   

    感觉楼主想要的是`id` NOT IN(143,137,137,153,88,3)id是整型吧??
      

  4.   

    id是int型的话就不用加单引号了
    $sql = "SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN({$value}) AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1";
      

  5.   

    若 id 是字符型的或一定要加单引号的话,$value 需加工一下
    $value = '143,137,137,153,88,3';
    $value = str_replace(',', "','", $value);... `id` NOT IN('{$value}') ...
      

  6.   

    也可以:$value=143,137,137,153,88,3';
    $sql="SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN(".$value.") AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1";#如果想要其中个别字符:
    $arr=explode(",",$value);
    $sql="SELECT `id`,`linkurl` FROM `users` WHERE `id` NOT IN(".$arr[0].",".$arr[3].") AND `able`='yes' ORDER BY `jifen` DESC LIMIT 1";