Задать вопрос
@LikeSD
Системный администратор

Не работает UPDATE PDO, не пойму почему?

Есть функция:

public static function badLids() {
		$db=Database::getConnection();
		$err="Ошибка обработки формы";
		$ok="Статус изменен";
		
		if(isset($_POST['bad_lid']) && $_POST['token']==$_SESSION['token']) {
			$id=$_POST['lidid'];
			$stat='4';
			$param=array(':stat'=>$stat, ':id'=>$id);
			$sql = "UPDATE lids SET stat_lids=:stat WHERE id_lids=:id";
			$sth=$db->prepare($sql);
			$sth->execute($param);

			$_SESSION["ok"] = $ok;
			header("Location: ".$_SERVER["HTTP_REFERER"]);
		} else {
			$_SESSION["error"] = $err;
	        header("Location: ".$_SERVER["HTTP_REFERER"]);
	        exit();
		}
	}


Не могу понять, почему не отрабатывает, ошибок не дает, POST отправляется верный. Куда копать, куда смотреть? Подскажите, а то уже голова кипеть начинает.
  • Вопрос задан
  • 675 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@LikeSD Автор вопроса
Системный администратор
Переписывал так:

$sql = "UPDATE lids SET stat_lids=:stat WHERE id_lids=:id";
			$sth=$db->prepare($sql);
			$sth->bindParam(':stat', $stat);
			$sth->bindParam(':id', $id);
			$sth->execute();


и вот так:

$sth=$db->prepare("UPDATE lids SET stat_lids=:stat WHERE id_lids=:id");
			$sth->bindParam(':stat', $stat);
			$sth->bindParam(':id', $id);
			$sth->execute();


Все-равно не работает. Пробовал уже по всякому....

---------------------------------------------------------------

Победил! Это все из-за не внимательности. Принимал $_POST по name формы. Переписал на name кнопки и все заработало.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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