簡體   English   中英

使用准備好的語句插入選擇 MySQL

[英]Insert select MySQL with prepared statements

我想知道我是否需要這樣做。

為了使其更安全,所有插入數據庫的內容都是從用戶發布的具有特定子句的另一個表中選擇的。

我使用id作為身份:

$identity = $_POST['id'];

$stmt = $mysqli->prepare ("INSERT into table_one (col_1, col_2, col_3)
         VALUES (?,?,?)");

//This is what I use to do
$stmt >bind_param ("sss", $valua, $valueb, $valuec);

//But now I want to that like this
$stmt >bind_param ("sss", SELECT valuea, valueb, valuec FROM ANOTHERtable WHERE id = $identity);

$list->execute();
$list->close();

是否可以? 這樣做的正確方法是什么?

您不需要綁定其他表中的值。 您只需要為用戶提供的值准備那些。 您可以安全地使用現有值。

$stmt = $mysqli->prepare ("INSERT into table_one (col_1, col_2, col_3)
        SELECT valuea, valueb, valuec FROM ANOTHERtable WHERE id = ?");
$stmt >bind_param ("i", $identity);
$stmt->execute();

暫無
暫無

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

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