Autor Zpráva
kuba95
Profil
Zdravím,
mám tento script, který by mi měl vypsat největší číslo ze sloupce id v databázi a pak k němu přičíst hodnotu 1. Ale když ho spustím, tak mi to napíše chybu:

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 ''themes' ORDER BY 'themes'.'id' DESC LIMIT 0 , 1' at line 1

Prosím poraďte jak mám opravit...

<?
$newid0 = "SELECT 'id' FROM  'themes' ORDER BY  'themes'.'id' DESC LIMIT 0 , 1";
$newid1 = mysql_query ($newid0) or die (mysql_error());
$newid2 = mysql_fetch_array($newid1);
$newid = '$newid2'+1;

echo $newid;
?>
Alphard
Profil
Kde jste viděl použití klasických apostrofů? Používají se zpětné.
kuba95
Profil
Díky, apostrofy jsem změnil na zpětné, ale vypisuje mi to jenom tu číslici 1, kterou jsem přičetl v 5. řádku. Tu hodnotu $newid2 to ignoruje. A já potřebuji aby mi to vypsalo hodnotu $newid2 + 1
Kajman
Profil
$newid = $newid2['id']+1;

Ale nové id nechte spočítat databázi, od toho tu je auto_increment.
kuba95
Profil
Děkuji


Kajman:
Ale nové id nechte spočítat databázi, od toho tu je auto_increment.

Já vim, ale já ho potřebuji poslat jinam ještě předtím, že se vytvoří ten řádek v databázi...
Alphard
Profil
[#5] kuba95
Někdy lze problém řešit i tak, že se vloží i neúplná data, zapamatuje se přidělené id a pak se potřebné informace doplní pomocí update.
rampa76
Profil
kuba95: pro počítání v dotazech je myslím lepší použít číselnou aritmetiku přímo v SQL -> select (Id + 1) from table.... předpokládám, že Id je integer. Pak jenom ukážeš na položku pole.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: