Potrebuju zmenit udaj v tabulce. Bohuzel mi to hodi nasledujici hlasku :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '6'' at line 2 nevim jestli mam spravne nastaveny primarni klic...neumi mi nekdo poradit jak dal postupovat?
Předpokládám, že to děláš v phpMyAdminu SQL dotazem. Jinak těžko říct, když nevím strukturu tabulky, dále neznám celej SQL dotaz. Existuje v tabulce řádek s ídéčkem 6?
Hoď sem to, co jsem říkal.
Ano je to v phpMyAdminu SQL dotazem. Delam seznam filmu....tabulka obsahuje id, nazev,zanr, rok a originalni nazev....mam v ni jenom 3 zaznamy, ale nefunguje mi to ani kdyz vsechny zaznamy smazu, vlozim prvni a chci ho zmenit.:
<?php
include "connect.php";
$result = mysql_query("SELECT * FROM tabulka WHERE id='$_GET[id]'");
$row = mysql_fetch_assoc($result);
?>
<form action="uspesnazmena.php" method="post">
<table border="0">
<input type= "hidden" name = "id" value = "<?php echo $_GET["id"];?>">
<tr>
<td>Název Filmu : </td> <td> <input name = "nazev" value ="<?php echo $row["nazev"];?>" SIZE=40><br></td></tr>
atd.
uspesnazmena.php je :
<?php
include "connect.php";
if ($_POST["id"]){
mysql_query("UPDATE tabulka SET nazev='$_POST[nazev]', zanr='$_POST[zanr]', rok='$_POST[rok]', orignazev='$_POST[orignazev]',
WHERE id = '$_POST[id]'");}
else{mysql_query("INSERT INTO tabulka (nazev, zanr, rok, orignazev)
VALUES ('$_POST[nazev]', '$_POST[zanr]', '$_POST[rok]', '$_POST[orignazev]')");
}
echo mysql_error();
?>
Nevim jestli jsem dobre nastavil ten primarni klic pro id. Mam tam INT a auto_increment a to je vsechno...
Nevím jestli to může být tím, ale:
>> $result = mysql_query("SELECT * FROM tabulka WHERE id='$_GET[id]'");
Bych předělal na:
$result = mysql_query("SELECT * FROM tabulka WHERE id=' ".$_GET["id"]." ' ");
A dále tam máš samé posty a v hranatých závorkách hodnotu taky bez uvozovek. To samý předělej v:
mysql_query("UPDATE tabulka SET nazev='$_POST[nazev]', zanr='$_POST[zanr]', rok='$_POST[rok]', orignazev='$_POST[orignazev]',
WHERE id = '$_POST[id]'");}
a
>> else{mysql_query("INSERT INTO tabulka (nazev, zanr, rok, orignazev)
VALUES ('$_POST[nazev]', '$_POST[zanr]', '$_POST[rok]', '$_POST[orignazev]')");
}
Ale fakt netuším, jestli to pomůže.
No, už jsem viděl, že ty údaje v hranatých závorkách skousnul, hlavně tam vidím, u updatu, před where čárku, která tam nemá co dělat. Čárkou se odděluje to, co se mění, where je za mezerou....
Panove moc Vam vsem dekuju uz to beha jako pomasle :-) Jeste jednou diky