2014-12-01 64 views
-5
$ids = join(',',$galleries); 
$sql = "SELECT * FROM galleries WHERE id IN ($ids)"; 
+3

欢迎堆栈溢出! 2行代码不是问题。你需要更详细地告诉你使用什么,你尝试过什么,以及你需要什么。 – pquest 2014-12-01 19:31:47

+0

*** SQL注入风险,前方!!! *** [请阅读此](http://bobby-tables.com),看看它是什么以及如何防止它。并且,除了重命名变量并切换到implode别名之外,还要澄清您的问题 – Barranka 2014-12-01 19:42:16

回答

-2

看起来像使用php脚本构造sql语句。我一直这样做。尝试类似:

$ galleryIds = implode(“,”,$ galleries);

$ sql =“SELECT * FROM galleries where id in($ galleryIds)”;

干杯,请投我!

好的,这是一个编辑,因为它似乎认为你会用这个产品代码(我不会)。

请使用某种常规加一个数据库抽象层来处理逸出,以防止注射:

例如,从数据库中获取你的galleryIds时,运行检查,他们都是数字数据类型,当然在你的sql结构中使用变量的时候可以像Zend的db-> quote($ galleryIds)那样做。

例如

+0

,这与OP的代码有什么不同? – 2014-12-01 19:51:59

相关问题