Autor | Zpráva | ||
---|---|---|---|
KryVosa Profil * |
Mám malý kousek kódu:
<?php $id=$_GET["id"]; $db=@mysql_connect("sql2.webzdarma.cz","AzureDiamond", "hunter2"); $table=@mysql_select_db("fremeni.wz.c9865",$db); $a=@mysql_query("SELECT `id` FROM `chat` ORDER BY `id` DESC LIMIT 1"); $a=mysql_fetch_array($a)["id"]; if($id<$a) { $ne=@mysql_query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT ".$a-$id); echo $a-$id; while($zaznam=mysql_fetch_array($ne)){ echo $a."%5-5%<div class='message'><span class='jmeno'>".$zaznam["name"]."</span>: ".$zaznam["text"]."<span class='time'>".$zaznam["time"]."</span></div>"; }} ?> Část se smyčkou se neprovede... Nevíte proč? Moderátor Joker: Změnil jsem přihlašovací údaje k databázi.
|
||
juriad Profil |
KryVosa:
Protože "SELECT * FROM `chat` ORDER BY `id` DESC LIMIT ".$a-$id
se vyhodnotí jako ("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT ".$a)-$id
a nikoli jako "SELECT * FROM `chat` ORDER BY `id` DESC LIMIT ".($a-$id) , jak ty očekáváš.
|
||
lionel messi Profil |
#3 · Zasláno: 8. 9. 2015, 20:06:29
KryVosa:
1. Nikdy nezverejňuj heslo k db (ani keď si myslíš, že ho nikto nezneužije). 2. Použitie operátoru @ na potlačenie chýb je fuj, potlačí totiž všetky chyby vrátane fatálnych a navyše spomaľuje beh programu, dôrazne odporúčam nepoužívať.
|
||
Joker Profil |
#4 · Zasláno: 8. 9. 2015, 20:11:08
KryVosa:
Příště před vložením kódu na veřejnou diskusi z něj odstraňte skutečná přihlašovací jména a hesla. (V příspěvku jsem to změnil.) Dále odstraňte z toho kódu všechny zavináče. Pak když někde nastane chyba, bude alespoň zřejmé, jaká chyba nastala a kde. |
||
KryVosa Profil * |
#5 · Zasláno: 8. 9. 2015, 20:48:35
Děkuji, povedlo se.
Zavináče jsem ani nepochopil, ani nepostřehl... Chyby mi to na webzdarma nevypisuje pro jistotu nikdy. |
||
Časová prodleva: 9 let
|
0