【发布时间】:2014-10-02 14:34:51
【问题描述】:
我有一个从查询返回的数组,但我想将它更改为另一个数据库查询的字符串
$test = $go->get_stuff();
$test = array(
'ONE',
'TWO',
'THREE',
'FOUR'
)
// expected outcome
$sql .= "(table.col IN ('ONE', 'TWO', 'THREE', 'FOUR') OR table.col IS NULL)";
【问题讨论】:
-
拜托,拜托,拜托:使用准备好的陈述。不要只是将查询串在一起:注入非常真实,非常普遍
-
听起来您真正想要的是将两个表连接在一起 - 取消查询,获取数组,然后在该数组上运行另一个查询 - 只需在 SQL 中使用 JOIN。跨度>
-
在我看来你可以在这里使用
JOIN而不是创建两个查询? -
这是一场等待发生的意外。正如其他人已经指出的那样;准备您的查询。不要只是公然将文本直接放入您的查询中。