2014-12-01 67 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

相關問題