以下PostgreSQL查询产生以下错误。但在我的直觉中,一切都是正确的。我不知道PostgreSQL为什么会出错。
$query = "INSERT INTO test (sku) VALUES ("."3814TT82033102-2".")";
sku
提交的内容为VARCHAR(50)
,但为什么postgres查询不允许我的sku。我得到了以下
PHP Warning: pg_exec(): Query failed: ERROR: syntax error at or near "TT82033102"
LINE 1: INSERT INTO test (sku) VALUES (3814TT82033102-2)
^ in /home/nifras/Documents/User/working-dir/csv/functions/import-rules.php on line 11
答案 0 :(得分:2)
我不是php专家,但我觉得可以使用绑定参数。
$sku = '3814TT82033102-2';
$query = 'INSERT test (sku) VALUES VALUES(:sku)';
$stmt = $this->pdo->prepare($query);
$stmt->bindValue(':sku', $sku);
答案 1 :(得分:0)
我更改了我的查询,如下所示
$product_sku = $product[0];
$query = "INSERT INTO test (sku) VALUES ('$product_sku')";
问题是字符串应该由单引号
覆盖