【问题标题】:An error I just don't get, MYSQL PDO PHP一个我没有得到的错误,MYSQL PDO PHP
【发布时间】:2013-10-13 21:54:30
【问题描述】:

尝试运行此插入查询

$query = $pdo->prepare("INSERT INTO `contacts` (`id`, `firstname`, `lastname`, `phonenumber`, `rank`, `time`) VALUES (NULL, :firstname, :lastname, :authcode, '1', NOW()");
$query->execute(array(":firstname" => $firstname, ":lastname" => $lastname, ":phone" => $phone));
$message[1] = '<font color=lime>Successfully added!</font>';

我收到此错误:

警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 61 行的 /public_html/contacts/add.php 中的第 1 行的 '' 附近使用正确的语法

这个($query-&gt;execute(array...)是第61行

【问题讨论】:

    标签: php mysql sql pdo


    【解决方案1】:

    您的查询不正确,这就是您收到语法错误的原因。你错过了结尾)

    INSERT INTO contacts (
       id,
       firstname,
       lastname,
       phonenumber,
       rank,
       time
    ) VALUES (
       NULL,
       :firstname,
       :lastname,
       :phone,
       '1',
       NOW()
    )
    

    格式化查询后更容易发现此类错误。

    【讨论】:

    • 谢谢,我在发布后确实得到了它,但再次感谢您的帮助。
    • 你的查询中甚至没有 :phone,你有 :authcode 而不是 phone
    • @geryjuhasz 很好,所以该查询中还有一个错误。
    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 2023-04-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 2017-05-17
    • 2011-09-17
    • 1970-01-01
    相关资源
    最近更新 更多