PHP MYSQL错误,查询无效(但它无效)

Nur*_*ism 0 php mysql syntax-error

我遇到了一些问题,我无法弄清楚如何修复它

PHP代码使用

$date = mysql_real_escape_string(date("Y/m/d"));
$title = mysql_real_escape_string($_POST["title"]);
$post = mysql_real_escape_string($_POST["post"]);
$sql =  printf("INSERT INTO `modcraft_mods`.`news` (`date`, `title`, `poster`, `post`) VALUES ('%s', '%s', '%s', '%s');" , $date, $title, mysql_real_escape_string($user->data['username']), $post);
$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)

输出:

INSERT INTO modcraft_mods.news(日期,标题,海报,帖子)VALUES('2011/09/19','Test Title','PixelMaster','Test Post');

查询无效:SQL语法中存在错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"151"附近使用正确的语法

奇怪的是,我在PhPMyAdmin中运行查询并且工作正常......有谁知道是什么原因造成的?

Tre*_*vor 5

printf返回一个整数(字符串的长度),而不是字符串.请sprintf改用.

http://php.net/manual/en/function.printf.php

http://us2.php.net/manual/en/function.sprintf.php

  • 作为附录:要解决问题,请使用`$ sql = sprintf(...` (2认同)