PHP 中用于 Postgresql 查询的列名的绑定变量
Binding variable for column name in PHP for Postgresql query
我需要从 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'"}
您不能在查询中绑定列名称:
$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_";
我需要从 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'"}
您不能在查询中绑定列名称:
$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_";