我有一个这样的数组:
$myarray= 'zzz,aaa,bbb' ;
并希望在mysql IN子句中使用它:
"... WHERE ids IN ($myarray) " // didnt work
"... WHERE ids IN ('$myarray') " // didnt work
我得到的错误是该数组zzz
中的第一个值表示zzz不是列名。所以我明白我必须用引号将值分开:
$myarray= ' "zzz","aaa","bbb" ' ;
但我不知道这样做。任何帮助将不胜感激。
答案 0 :(得分:2)
$myarray = 'zzz,aaa,bbb';
$myarray = implode("','",explode(',',$myarray));
$query = "..... WHERE ids IN ('$myarray')";
答案 1 :(得分:2)
你需要explode()
你的字符串,然后implode()
它 -
$myarray = 'zzz,aaa,bbb';
$realArray = explode(',', $myarray);
$stringForIn = "'" . implode("','", $realArray) . "'";
echo "WHERE ids IN ($stringForIn)";
答案 2 :(得分:1)
试试:
$myarray= 'zzz,aaa,bbb' ;
echo implode '"' . ('","', explode(',', $myarray)) . '"';