当我从 PHP 脚本发送此 SQL 时,我收到 SQL 语法错误,但是,如果我从 phpMyAdmin 运行它,它会按我预期的方式工作。SQL:DELIMITER $ CREATE TRIGGER update_listing_count AFTER UPDATE ON `items` FOR EACH ROW BEGIN UPDATE `listings` SET units = (SELECT COUNT(*) FROM `items` WHERE listingid = NEW.listingid) WHERE id = NEW.listingid; UPDATE `listings` SET unitsSold = (SELECT COUNT(*) FROM `items` WHERE listingid = NEW.listingid AND sold = true) WHERE id = NEW.listingid; END$ DELIMITER ;PHP:$conn = DBConnection(); $stmt = $conn->prepare("DELIMITER $ CREATE TRIGGER update_listing_count AFTER UPDATE ON `items` FOR EACH ROW BEGIN UPDATE `listings` SET units = (SELECT COUNT(*) FROM `items` WHERE listingid = NEW.listingid) WHERE id = NEW.listingid; UPDATE `listings` SET unitsSold = (SELECT COUNT(*) FROM `items` WHERE listingid = NEW.listingid AND sold = true) WHERE id = NEW.listingid; END$ DELIMITER ;"); $stmt->execute();错误:致命错误:未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在itemsC:\xampp\htdocs\marketplace.php:25 中第 1 行的“DELIMITER $ CREATE TRIGGER update_listing_count AFTER UPDATE ON”附近使用的正确语法:#0 C: \xampp\htdocs\marketplace.php(25): PDOStatement->execute() #1 {main} 在第 25 行的 C:\xampp\htdocs\marketplace.php 中抛出
添加回答
举报
0/150
提交
取消