-5
$ids = join(',',$galleries);
$sql = "SELECT * FROM galleries WHERE id IN ($ids)";
$ids = join(',',$galleries);
$sql = "SELECT * FROM galleries WHERE id IN ($ids)";
看起來像使用php腳本構造sql語句。我一直這樣做。嘗試類似:
$ galleryIds = implode(「,」,$ galleries);
$ sql =「SELECT * FROM galleries where id in($ galleryIds)」;
乾杯,請投我!
好的,這是一個編輯,因爲它似乎認爲你會用這個產品代碼(我不會)。
請使用某種常規加一個數據庫抽象層來處理逸出,以防止注射:
例如,從數據庫中獲取你的galleryIds時,運行檢查,他們都是數字數據類型,當然在你的sql結構中使用變量的時候可以像Zend的db-> quote($ galleryIds)那樣做。
例如
,這與OP的代碼有什麼不同? – 2014-12-01 19:51:59
歡迎堆棧溢出! 2行代碼不是問題。你需要更詳細地告訴你使用什麼,你嘗試過什麼,以及你需要什麼。 – pquest 2014-12-01 19:31:47
*** SQL注入風險,前方!!! *** [請閱讀此](http://bobby-tables.com),看看它是什麼以及如何防止它。並且,除了重命名變量並切換到implode別名之外,還要澄清您的問題 – Barranka 2014-12-01 19:42:16