【问题标题】:PHP PDO insertion in fields with blank spaces not workingPHP PDO 在带有空格的字段中插入不起作用
【发布时间】:2014-01-29 16:42:13
【问题描述】:

我对此有点困惑,我认为问题是在带有空格的字段中插入数据,这样做的正确方法是什么?

我得到的错误信息是:

DB ERROR: SQLSTATE[HY093]: Invalid parameter number: 绑定变量数与令牌数不匹配

 $consulta = "INSERT INTO $table 
        (Title, Title_Short, City, `Department / Branch`)
        VALUES (:Title, :Title_Short, :City, :`Department / Branch`)";

        $result = $db->prepare($consulta);

    $result->execute(array(
        ":Title" => getTitle($url_job),
        ":Title_Short" => getTitle_Short($url_job),
        ":City" => getTitle($url_job),
        ":Department / Branch" => getTitle_Short($url_job),

        ));

【问题讨论】:

  • 您不能在占位符名称中使用反引号或空格。
  • 占位符名称必须与您要插入的字段的名称相匹配。这太疯狂了...:foo 也可以。
  • 有没有办法使用带空格的字段进行插入?

标签: php mysql pdo insert


【解决方案1】:

占位符中不允许使用特殊字符。使用:

$consulta = "INSERT INTO $table 
    (Title, Title_Short, City, `Department / Branch`)
    VALUES (:Title, :Title_Short, :City, :DeptBranch)";

$result = $db->prepare($consulta);

$result->execute(array(
    ":Title" => getTitle($url_job),
    ":Title_Short" => getTitle_Short($url_job),
    ":City" => getTitle($url_job),
    ":DeptBranch" => getTitle_Short($url_job),

));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-06
    • 2018-11-28
    • 2012-05-05
    • 2015-09-14
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    相关资源
    最近更新 更多