9

mysqlのconcat関数を使用してmysqlの既存の値にテキストを追加しようとしていますか?

したがって、既存の値は現在「john」であり、関数が実行された後は「johnewvalue」になります

データベースptb_messagesの件名列にある既存のテキストにテキスト':reply'を追加しようとしています。

mysqlのconcat関数を使用してこれを実行しようとしていますが、結果が得られません。

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT subject, 'newvalue' WHERE id='".$message_id."'"); 

誰かが私がやりたいことをする方法を教えてくれませんか。ありがとう。

4

1 に答える 1

26

そのはず

UPDATE ptb_messages 
SET subject = CONCAT( subject, 'newvalue')
WHERE ... 

PHPで

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT(subject, 'newvalue') WHERE id='".$message_id."'"); 

SQL Injection補足として、変数の値(s)が外部からのものである場合、クエリは脆弱です。それを防ぐ方法については、以下の記事をご覧ください。を使用PreparedStatementsすると、値を一重引用符で囲む必要がなくなります。

于 2013-02-11T15:52:03.343 に答える