Autor Zpráva
1x23
Profil
Ahoj, snazim se uz dva dny vytahnout data z dabaze, ale nedari se mi to. Co jsem pisnul spatne?

mam databazi pokus
tabulku pokus

a snazim se precit sloupec ID a TEXT.

<?php

$db=mysql_connect("localhost","uzivatel","heslo");
if (!$db)
 { 
 die (mysql_error() );
    }
mysql_close($db);

$co="select * from inbox";
$data=mysql_db_query("pokus", $co, $db);

if (!$co) {
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while (list ($ID) = mysql_fetch_row($data)) {
echo ("$ID");
}

?>

Najdu na netu hodne navodu jak data vydovolat, ale kdyz se je snazim upravit pro svoji potrebu, tak se mi to nedari.
Dekuji za nakopnuti:)


Moderátor Joker: Titulek „mysql select“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Joker: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Joker
Profil
Pro příště, kromě správného titulku a psaní s diakritikou by to chtělo ještě popsat chování toho kódu.
(Jak se to chová? Co to má dělat a nedělá, co to nemá dělat a dělá?)

Jinak zjevné chyby takhle na přečtení:
• Vytvořené připojení se na řádku 8 zase uzavře, takže při mysql_db_query není žádné otevřené připojení.
• Podmínka na řádku 13 je nesmyslná, v $co je SQL dotaz. Nejspíš tam má být $data.
• Jestli se mají vypisovat dva sloupce, nikde se tam nevypisuje ten druhý.
• Kombinace SELECT * a list() tak nějak bezdůvodně spoléhá na to, že požadované sloupce budou zrovna na začátku výpisu.
• Při výpisu proměnné se kolem ní nepíší uvozovky (i když to nezpůsobuje žádnou chybu) a příkaz echo nevyžaduje závorky.

Další věci ke zvážení:
• PHP rozšíření MySQL je zastaralé a nemělo by se pro nové projekty používat. Existují lepší metody napojení na MySQL databázi.
• Pojmenovat sloupec tabulky „text“, což je vyhrazené slovo MySQL (jmenuje se tak datový typ) nebylo zrovna šťastné. Veškeré odkazy na něj v SQL dotazech se budou muset dávat do obrácených apostrofů, `text`.
1x23
Profil
Ahoj,

dekuji za odpoved, kouknu na to. Snazim se zatim zobrazit jeden sloupec (v budoucnu jich bude vice).
Omrknu ty chyby.

Dekuji

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:

0