Autor | Zpráva | ||
---|---|---|---|
kuba95 Profil |
#1 · Zasláno: 28. 11. 2012, 22:42:17
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 |
#2 · Zasláno: 28. 11. 2012, 22:43:45
Kde jste viděl použití klasických apostrofů? Používají se zpětné.
|
||
kuba95 Profil |
#3 · Zasláno: 28. 11. 2012, 23:17:41
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 |
#4 · Zasláno: 28. 11. 2012, 23:32:28
$newid = $newid2['id']+1; Ale nové id nechte spočítat databázi, od toho tu je auto_increment. |
||
kuba95 Profil |
#5 · Zasláno: 28. 11. 2012, 23:35:23
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 |
#6 · Zasláno: 29. 11. 2012, 00:08:01
[#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 |
#7 · Zasláno: 29. 11. 2012, 10:01:15
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.
|
||
Časová prodleva: 11 let
|
0