Я пытаюсь обновить таблицу базы данных с помощью PDO, но чтобы избежать утечек безопасности, я использую параметры в своем запросе.Обновление записи с PDO с использованием параметров
Я получаю эту ошибку:
exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in D:\xampp\htdocs\logansarchive\admin\do.article.php:25 Stack trace: #0 D:\xampp\htdocs\logansarchive\admin\do.article.php(25): PDOStatement->execute() #1 {main}
Вот мой код:
$sql = "update articles set".
"category = :cat,".
"articletitle = :title,".
"articlecontent = :content".
"where articleid = :target";
$result = $dbh->prepare($sql);
$result->bindParam(":cat", $category);
$result->bindParam(":title", $title);
$result->bindParam(":content", $content);
$result->bindParam(":target", $target);
$result->execute();
Я нашел этот Not able to update rows using PDO , который выглядит очень похож на то, что я делаю, но я не конечно, как исправить мой код на основе этого, так как я не вижу никаких проблем, перечисленных там парнем, который ответил на этот вопрос.
Любая помощь будет принята с благодарностью.
Спасибо за ваше время!
Какова необходимость разбить инструкцию SQL и закрыть каждую цитату новой строкой? Почему бы просто не оставить цитату открытой сверху вниз? – lethalMango
@lethalMango Я предполагаю, что вы тот, кто отказался от вопроса? Просто назови эту неопытность. Я делаю то же самое в vb.net, чтобы сделать мой код более удобочитаемым. Насколько мне известно, это был единственный способ сделать это. – Ortund
Вы увидите из моего профиля, что я никогда не проголосовал за вопрос, так что это не я. Я все для неопытных вопросов - это одно из основных видов использования SO :) – lethalMango