Autor Zpráva
Darth
Profil
Dobrý den,
chtěl jsem se zeptat,vytvářel jsem návštěvní knihu a u každého příspěvku je jeho ID.Když ale chci ,aby se s příspěvkem odeslalo i nové ID,tak se mi odešle do databáze pouze 0,přičemž příkaz v databázi normálně funguje.Nevidíte tam někdo chybu prosím?

<?
$Ip=$REMOTE_ADDR;
$Datum=Date("d.m.Y H:i:s");
if ($Jmeno && $Vzkaz)
{ $spojeni=MySQL_Connect("mysql.wz.cz","databaze","heslo");
if (!spojeni) echo "Nepodařilo se připojit k databázi!";
MySQL_Select_DB("databaze");
$cislo=MySQL_Query("'SELECT Max(ID)+1 from KNIHA';");
$prikaz=MySQL_Query("Insert into KNIHA (Jmeno,Vzkaz,Datum,Ip,ID,Email,Web) values ('".$Jmeno."', '".$Vzkaz."','".$Datum."','".$Ip."','".$cislo."','".$Email."','".$Web. "');");
if (!prikaz) echo "Nepodařilo se vložit příspěvek!";
Header("Location: neco");
}
elseif (!$Jmeno || !$Vzkaz)
echo "Musíte zadat jméno a vzkaz!";
?>
djlj
Profil
Darth
Nastav si id jako primární a nastav mu auto_increment - pak toto vůbec nebudeš muset řešit a bude se ti to číslovat automaticky.
BaTeCzKo
Profil
Já vždy nové ID počítám stylem:

$noveid=mysql_query("SELECT id FROM kniha ORDER BY id DESC LIMIT 1"); /* nacte posledni id */
$noveid=mysql_fetch_array($noveid); /* udela z promenne noveid pole */
$noveid=$noveid['id']; /* nastavi samo sebe na ciselnou hodnotu posledniho id */
$noveid++; /* pricte k poslednimu id 1 */
djlj
Profil
BaTeCzKo
Jaký to má smysl, když se o to může postarat databáze automaticky?
Darth
Profil
MySQL_Error mi tam vypsal ze mam chybu v SQL syntaxi 'SELECT Max(ID)+1 from KNIHA' nevite nekdo,jaky prikaz funguje na wz? tak aby byla syntaxe spravna...jinak dekuji zkusim to tak nastavit
Darth
Profil
k tomu auto_incrementu asi mam spatne nastaveni
SQL-dotaz:

ALTER TABLE `KNIHA` CHANGE `ID` `ID` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT
MySQL hlásí:

#1067 - Invalid default value for 'ID'

nevis co mam spatne?
djlj
Profil
Zkus
ALTER TABLE `KNIHA` CHANGE `ID` `ID` INT( 11 ) DEFAULT NULL AUTO_INCREMENT
Darth
Profil
Vyřešeno.Děkuji moc za ten auto_inkrement.. Mimochodem pokud někdo přijdete na tu správnou syntaxi pro hosting wz budu jedině rád.Taky by se hodil..
Toto téma je uzamčeno. Odpověď nelze zaslat.