【发布时间】:2015-03-02 19:30:27
【问题描述】:
我有一个这样的数组:
$myarray= 'zzz,aaa,bbb' ;
并希望在 mysql IN 子句中使用它:
"... WHERE ids IN ($myarray) " // didnt work
"... WHERE ids IN ('$myarray') " // didnt work
我得到的错误是该数组zzz 中的第一个值表示 zzz 不是列名。所以我知道我必须用引号将值分开:
$myarray= ' "zzz","aaa","bbb" ' ;
但我不知道这样做。任何帮助将不胜感激。
【问题讨论】:
-
因为它真的不是一个数组,它是一个字符串。您需要使用适当的引号和逗号
implode。 -
最终结果应该是这样的:
WHERE ids IN ('zzz','aaa','bbb') -
@JayBlanchard 你的意思是我在 implode(", ", $myarray); ` ?
-
这里有很多很好的答案@ScooterDaraf - 一个衬里特别优雅。我的示例逐行显示了正在发生的事情。
-
附带说明,如果您的变量 $myarray 不是数组,您可能不应该调用它。起个好名字,更容易维护代码。