Как правильно подготовить запрос без определенного кол-ва полей?

$str = '';
			foreach (array_keys($c) as $key) if (!in_array($key,$this -> fields)) $str .= $key." = '$c[$key]',";
			$t = "UPDATE game SET ".mb_substr($str,0,-1)." WHERE `id` = '".$c['id']."' AND `type` = '".$c['type']."' LIMIT 1";
			$this -> db -> pdo -> query($t);
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
А подробнее? Что должно получиться-то?
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
ну, я собираю два массива: один с параметрами, второй со значениями.
т.е. примерно так:
$params = [':param_1', ':param_2'];
$binds = [':param_1'=>1, ':param_2'=>2];
$binds[':id'] = 777;
$sql = 'UPDATE `table` SET ' . implode(', ', $params) . ' where `id`=:id';
Ответ написан
k_e_m_e_l
@k_e_m_e_l Автор вопроса
всем спасибо)) разобрался)
foreach ($this -> fields as $k) unset($c[$k]);	//Что не надо не обновляем
			$columns_s = implode(',', array_keys($c));
			// Обновляем наши результаты
			$this -> db -> pdo -> prepare("UPDATE game SET $columns_s") -> execute(array_values($c));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы