我最近遇到的一个问题是,当尝试使用此代码更新数据库中的字段时将无法正常工作.我追溯到正在更新文本中的%符号($ note,然后$ note_escaped)...使用sprintf插入它虽然工作正常.
我不应该使用sprintf进行更新,还是应该以不同的方式形成?
我做了一些搜索,但无法想出任何东西.
$id = mysql_real_escape_string($id);
$note_escaped = mysql_real_escape_string($note);
$editedby = mysql_real_escape_string($author);
$editdate = mysql_real_escape_string($date);
//insert info from form into database
$query= sprintf("UPDATE notes_$suffix SET note='$note_escaped', editedby='$editedby', editdate='$editdate' WHERE id='$id' LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
非常感谢!
您正在使用sprintf完全错误.删除代码中的函数调用仍然会做同样的事情.它应该是:
sprintf("UPDATE notes_%s SET note='%s', editedby='%s', editdate='%s' WHERE id=%d LIMIT 1", $suffix, $note_escaped, $editedby, $editdate, $id);
Run Code Online (Sandbox Code Playgroud)
你应该阅读手册.