簡體   English   中英

引號之間的sql語句中的BindValue

[英]BindValue in a sql statement between quotes

我試圖執行這樣的事情

$SQL = "INSERT into cb_sent_alerts(user_id,message) 
    Select id, ' :message ' from story1";


$stmt->bindValue(':message', $_POST['message']);

但這只是將:message發送到數據庫,而不是$ _POST ['message']的值; 我能做什么?

編輯:非常抱歉,應該指定,:message不是cb_sent_alerts中的列,而是我希望消息以字符串形式存在。

盡管文檔中從未明確提及,但您可以在INSERT ... SELECT查詢的SELECT部分中使用占位符,方法與處理任何其他類型的查詢相同。 所以這:

INSERT INTO cb_sent_alerts(user_id,message) 
    SELECT id, :message FROM story1

...如果通過bindValue(':message', $_POST('message')調用綁定, bindValue(':message', $_POST('message')正確的值(字符串)結束。

請注意,不能將占位符用於列名和表名,因此,您擔心的事情是不可能的。

暫無
暫無

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

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