回答
你應該通過你的GET
參數,像這樣:
script.php?variable[]=happy&variable[]=sad
在腳本中,這些將被存儲在$_GET[variable]
作爲數組:
Array ( [0] => happy [1] => sad )
然後,您可以綁定參數和發送聲明(未經測試):
<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$type = '';
$query = 'SELECT column FROM bubbles WHERE variable IN (';
for($i = 0; $i < count($_GET[variable]); $i++) {
$query .= '?';
$type .= 's';
if($i+1 < count($_GET[variable])) $query .= ', ';
}
$query .= ')';
$stmt = mysqli_prepare($link, $query);
call_user_func_array('mysqli_stmt_bind_param', array_merge(array($stmt, $type), $_GET[variable]));
/* execute prepared statement */
mysqli_stmt_execute($stmt);
/* close connection */
mysqli_close($link);
?>
+1:我希望我可以兩次投票,因爲這既是一個堅實的答案,也隱含地解決了注射問題。 – 2013-02-09 15:40:30
請...永遠不要使用未加引號的數組鍵。它依賴於一個可怕的PHP錯誤特性(字符串化未定義的常量)並在每次執行時產生一個E_NOTICE。 – ThiefMaster 2013-02-09 20:21:31
謝謝非常 – 2013-02-11 11:05:29
- 1. PHP案例和GET
- 2. .htaccess和php GET
- 3. Http Get和PHP
- 4. PHP MySQL的:GET查詢SQL
- 5. PHP形式,做GET和POST
- 6. GET和POST在PHP
- 7. fsockopen - POST和GET PHP
- 8. php MS SQL SQL查詢WHERE子句和GET參數
- 9. POST,GET和Cookie通過PHP
- 10. Slim PHP和GET參數
- 11. PHP和get方法錯誤
- 12. PHP:濫用POST和GET
- 13. OOP PHP和「GET-設置」
- 14. PHP GET和id書籤
- 15. POST和GET不捲曲PHP
- 16. 逃逸PHP GET和POST值
- 17. PHP差異:: get()和$ _GET []
- 18. PHP需要和包括GET
- 19. PHP GET和加載一個div
- 20. SQL GET行
- 21. PHP GET菜單
- 22. POST和GET通過jQuery和PHP
- 23. PHP GET不工作
- 24. GET和POST在PDO
- 25. SQL表格格式的Get-ADGroup和Get-ADGroupMember
- 26. 如何在PHP中爲XSS和SQL注入清除POST和GET vars
- 27. curl -GET和-X GET
- 28. php isset($ _ GET ['post_id'])問題
- 29. php sql和類
- 30. SQL和PHP
您可以將值作爲數組發送,?value [] =變量和值[] =變量2(正確urlencoded ofcourse) – hank 2013-02-09 14:36:59
我認爲你不知道SQL注入是如何工作,但是它不會做任何傷害 – 2013-02-09 14:39:36
感謝您的快速回復。如果有人知道一種不太容易的方法,那更是一個問題。漢克 - 不幸的是,這種方法不能用我現有的代碼沒有大規模的重寫。 – 2013-02-09 14:39:47