Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Gresus 02. 05. 2016, 13:45:07
-
Dobry den.
Nefunguje mi update v PHP cez PDO. Nevyhadzuje mi to ziadnu chybu len nevykona UPDATE. Kde moze byt chyba ?
if(isset($_GET['id'])){
$ids = ($_GET['id']);
$title = ($_GET['title']);
$description = ($_GET['description']);
$user= ($_GET['url']);
$status = ($_GET['status']);
}
try {
$sql=$dbh->prepare("UPDATE `user` SET `title` = ? ,`user`=? `description` = ?, `status` = ? WHERE `user`.`id`=?;");
$sql->execute(array(
$title,
$user,
$description,
$status,
$ids
));
-
Jakou volas URL, jsi so jisty, ze id, ktery updatujes je v databazi?
Btw ten strednik v tom dotazu je zbytecnej ne? Nevim co s tim PDO dela, ale vadit by to nemelo ...
-
Jo a chybi ti carka pred description
-
Hej ciarka bola chyba uz som to opravil ale stale to neupdatuje.
Ano ID je v DB.
Pred tym je kontrola na ID a zaznam v DB takze to je ok.
-
Máš tam logickou chybu: Pokud $_GET['id'] neexistuje, proměnné se nenaplní, ale UPDATE se provede. Bylo by možná lepší, kdyby tam ty pomocné proměnné vůbec nebyly:
<?php
if (isset($_GET['id'])) {
try {
$sql = "UPDATE `user` SET `title`=? ,`user`=?, `description`=?, `status`=? WHERE `id`=?;"
$update = $dbh->prepare($sql);
$update->execute(array(
$_GET['title'],
$_GET['url'],
$_GET['description'],
$_GET['status'],
$_GET['id'],
));
} catch ...