Что не так с этим выполнением Mysql PDO, которое делает его не выполненным? - PullRequest
1 голос
/ 09 января 2012

Этот запрос не выполняется, и я уверен, что он перебирает код, он просто не обновляет строку.

$statement = $db->prepare("UPDATE users SET data=:data WHERE id=:id");
$statement->execute(array(':data' => $data, ':id' =>     $_REQUEST['user_id']));

В чем может быть проблема? Я на 100% уверен, что $_REQUEST['user_id'] является действительным и существует в БД, и эти данные также содержат что-то. Я действительно не знаю, почему это не будет выполнено.

1 Ответ

2 голосов
/ 09 января 2012

Попробуйте привязка ваши параметры в первую очередь:

$statement = $db->prepare("UPDATE users SET data=:data WHERE id=:id");

$statement->bindValue(':data', $data, PDO::PARAM_STR);
$statement->bindValue(':id',  $_REQUEST['user_id'], PDO::PARAM_INT);

$statement->execute();
...