PHP PDO准备了语句字符串长度限制

时间:2014-07-17 20:38:20

标签: php pdo

我遇到一个问题,即生成的准备字符串的长度有限:

我的SQL语句是这样的:

INSERT INTO `empresa`
    (`nombre`, `calle`, `colonia`, `ciudad`, `estado`, `pais` `codigo_postal`, `telefono`, `email`)
    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

如果我使用bindParam()bindValue()或甚至execute()绑定值并不重要,它总是以某个长度进行修剪,我会收到此错误:< / p>

  

语法错误或访问冲突:1064

它抱怨......

  

在'codigo_postaltelefonoemail附近使用的正确语法VALUES('algo','1','7','b','ha'at at第2行

如果我缩短参数长度,例如,仅'algo' 'al',则错误相同但'ha'显示为'hasd',如果我只指定一个或两个列,因此完整的语句更短,它正确执行。我能做什么?解决方法是执行INSERT,然后使用其他语句更新其字段,但这只是愚蠢。

1 个答案:

答案 0 :(得分:5)

`pais` `codigo_postal`
你忘记了逗号。 试试这个:

INSERT INTO `empresa`
    (`nombre`, `calle`, `colonia`, `ciudad`, `estado`, `pais`, `codigo_postal`, `telefono`, `email`)
    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)