[英]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.