【发布时间】:2014-08-11 13:45:57
【问题描述】:
我有一个数组
variable $smt_database = 257, 259, 261
Array ( [0] => 257, 259, 261 )
我怎样才能像这样在数据库中插入这个变量 $smt_database :
$sql = "SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN ($smt_database)";
当我回显 sql 时,它会显示如下数组:
SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN (Array)
我怎样才能改变它可以像下面的sql:
SELECT first_name FROM '.TABLE_PREFIX.'members 'WHERE member_id IN (257, 259, 261)
我知道我们必须使用 implode 和 explode 但我不知道如何实现它们。
【问题讨论】:
-
$smt_database变量从何而来?是用户提供的数据吗? -
它来自数据库.. 但我已经有了答案,谢谢。
-
您在列中存储逗号分隔的数据?这是一个 SQL 反模式……除此之外,你可以使用
${stm_database[0]}。 -
是的..呵呵..我不知道反模式..我看到下面的答案之一..不错的方法..我从来没有想过
-
有关“乱穿马路”反模式的更多信息,另请参阅 this answer。