我正在成功地阅读从4D使用PDO,但没有写到它。
当我试图将值插入数据库时,我会得到以下错误:
SQLSTATEHY000:一般错误: 1248执行语句失败。
这是我的代码:
<?php
$dsn = 'dsn-info';
$user = 'user-info';
$pswd = 'password';
$db = new PDO($dsn, $user, $pswd);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Display PDO errors
$statement = $db->prepare("INSERT INTO order(dealer, customer) VALUES(:dealer, :customer)");
$statement->execute(array(
"dealer" => "Test Dealer",
"customer" => "Test Customer"
));
?>只是想弄清楚我的INSERT语句是否有问题,或者是否需要修改4D方面的内容才能允许我写作。
发布于 2017-09-28 00:53:00
提供的查询使用SQL保留字:
INSERT INTO order(dealer, customer) VALUES(:dealer, :customer)这个查询使用ORDER作为表名,但是ORDER是一个SQL保留字。
如果您在4D结构编辑器的表检查器中查看此表,您将看到如下所示:

无法通过SQL访问此表,应重命名它。
请看这个技术提示:技术提示:与SQL兼容的字段名指南
https://stackoverflow.com/questions/46457554
复制相似问题