Переменная связывания для имени столбца в PHP для запроса Postgresql

Мне нужно динамически генерировать имя столбца, который мне нужно обновить в Postgresql из PHP. Вот код и ошибка:

$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'"}

3

Решение

Вы не можете связать имена столбцов в вашем запросе:

$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_";
4

Другие решения

Других решений пока нет …