【问题标题】:Binding variable for column name in PHP for Postgresql query用于 Postgresql 查询的 PHP 中列名的绑定变量
【发布时间】:2015-04-08 04:15:45
【问题描述】:

我需要从 PHP 动态生成我需要在 Postgresql 中更新的列名。这是代码和错误:

$Col = "dog_".$Num."_pic";
$query_params = array(
        ':user_id_' => $CustomerID,
        'dog_path' => $filePath,
        'dog_col' => $Col)
        ;

$sql = "UPDATE users
        SET 
            `:dog_col`=:dog_path
        WHERE `username`=:user_id_";

我还尝试使用字符串pg_escape_string()

这是错误。

"SQLSTATE[42S22]: Column not found: 1054 Unknown column ''dog_1_pic'' in 'field list'"}

【问题讨论】:

    标签: php sql database postgresql data-binding


    【解决方案1】:

    您不能在查询中绑定列名:

    $sql = "UPDATE users 
            SET `:dog_col`=:dog_path
            WHERE `username`=:user_id_";
    

    在这种情况下,您必须使用这样的变量:

        $column = 'myColumn';
    
        $sql = "UPDATE users
                SET $column = :dog_path
                WHERE username = :user_id_";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-02
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      相关资源
      最近更新 更多