簡體   English   中英

將變量插入查詢

[英]Inserting variable into a query

我知道准備好的語句,但是我的問題有點不同。

假設存在以下情況,變量$table 並非來自外部資源,即它只是一個硬編碼到腳本中的字符串變量

if($i == 1)
    $table = "students";
else if($i == 2)
    $table = "lecturers";

$sql = "select * from ".$table." where attending = 1";
$db->exec($sql);
//etc

我的問題 :如上例所示,將$table變量包含到查詢中是否安全? 據我所知,我們應該只對用戶輸入數據使用准備好的語句,對嗎? 如果沒有,請糾正我。

如果您沒有從用戶那里收到變量的內容,那么可以安全地使用SQL Injection。 但是,出於效率考慮,您可以使用准備好的語句。 這樣,該語句僅被解析一次,而不是每次執行時都被解析。 有關更多信息,請閱讀:

http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM