【问题标题】:PHP MYSQL Error, Invalid query (but its not invalid)PHP MYSQL 错误,无效查询(但它不是无效的)
【发布时间】:2011-09-19 01:31:23
【问题描述】:

我遇到了一些问题,我不知道如何解决它

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());
}

输出:

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

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

奇怪的是,我在 PhPMyAdmin 中运行了查询,它运行良好...有谁知道可能导致这种情况的原因吗?

【问题讨论】:

    标签: php mysql syntax-error


    【解决方案1】:

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

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

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

    【讨论】:

    • 作为附录:要解决此问题,请使用$sql = sprintf(...
    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    相关资源
    最近更新 更多