【发布时间】:2012-01-09 20:50:27
【问题描述】:
我在使用 PHP 和 mySQL 进行 SQL 事务时遇到了一些问题。这是我的声明:
START TRANSACTION;
INSERT INTO listings (title, price, seller, description, time, featured)
VALUES (?, ?, ?, ?, ?, 0);
SELECT @listingid:=LAST_INSERT_ID();
INSERT INTO pictures (listid, primarypic)
VALUES (@listingid, 1);
COMMIT;
虽然当我直接使用 phpMyAdmin(替换 ? 标记)将其放入时,此语句工作正常,但当我调用时它似乎失败
$stmt = $mysqli->prepare("statement");
将“声明”替换为上述声明。在到达 $stmt 的 bind_param 之前它失败的事实让我相信这不是参数的问题,而是查询的问题。
这是确切的错误,如果有帮助的话:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“插入到列表(标题、价格、卖家、描述、时间、特色)”附近使用正确的语法
提前感谢您的帮助!
【问题讨论】:
标签: php mysql mysqli prepared-statement