Autor Zpráva
andre
Profil
Dobrý den. Začínám se učit MySql a již na začátku narážím na problém. Stále mi skript vrací hlášku: Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\index.php on line 31. Testuji to doma na lokále, mám php triad. Vytvoření databáze se daří, když kounu do správce WinMySql, tak tam je, ale je prázdná. Když přidám do kodu mysql_error, vrátí mi to, že tabulka neexistuje: Table 'druha.adresar' doesn't exist. Moc děkuji za pomoc. Zápis vypadá takto:
<?
$jmeno="druha";
$spojeni=mysql_connect("localhost","andre","heslo");
$vytvorit=mysql_create_db($jmeno, $spojeni);
$tab="adresar";
$sloupec1="Jméno";
$sloupec2="E-mail";
mysql_select_db($jmeno, $spojeni);
$tabulka="mysql_query(CREATE TABLE `$tab` (`$sloupec1` VARCHAR (20) NOT NULL,`$sloupec2` VARCHAR (40) NOT NULL), $spojeni)";
$vloz=mysql_query("INSERT INTO $tab values ('Dlabal', 'dlabal@seznam.cz')", $spojeni);
$vyber="SELECT * FROM adresar";
$navrat=mysql_db_query($jmeno, $vyber, $spojeni);
echo("<table border=\"1\">");
for ($i=0;$i<mysql_num_fields($navrat); $i++){
echo("<td><strong>".mysql_field_name($navrat, $i)."</strong></td>");
}
while (list($meno, $mail) = mysql_fetch_row($navrat)){
echo("<tr><td>$meno</td><td>$mail</td></tr>");
echo("</table>");
}
?>


Moderátor Alphard: Vkládej prosím kód mezi značky [pre] a [/pre] (stačí kliknout na ).
andre
Profil
Dodatek: Hledal jsem zde v diskuzi a výše zmíněný problém jsem našel vícekrát. Ale zmíněná řešení nefugují.
Alphard
Profil
andre:
Ale zmíněná řešení nefugují.
Fungují, jen je správně použít. Ale i tak, pochvala za nalezení mysql_error().

Databáze je již vytvořená, takže 4. řádek smažte
Tady si opravte uvozovky.
$tabulka=mysql_query("CREATE TABLE `$tab` (`$sloupec1` VARCHAR (20) NOT NULL,`$sloupec2` VARCHAR (40) NOT NULL)", $spojeni);

$spojeni není nutné uvádět, použije se poslední navázané

Pokud to bude dál vypisovat chybu, vložte mysql_error() za create table ..., napíše vám, co se mu nezdá.
Alphard
Profil
Kdo si myslí, že se jedná o MySQL problém? První chybu vidím ve špatném použití uvozovek v PHP.
// Dovysvětlím, zdá se mi, že tento dotaz byl původně v PHP a pak ho někdo přesunul do databází. Jestli se mi to opravdu jenom zdá, tak se omlouvám.
andre
Profil
Tak se s tím mordím a nic. Odstranil jsem čtvrtou řádku, kde se tvoří databáze. Nerozumím moc tomu: „Tady si opravte uvozovky.“ Když je vynechám, objeví se syntax error na tého řádce, pokud tam dám apostrofy, vrátí se to k původní chybě. Mohu se tedy zeptat na to špatné použití uvozovek v php?
Alphard
Profil
andre:
Mohu se tedy zeptat na to špatné použití uvozovek v php?
Já jsem vám napsal (a zvýraznil) již opravenou verzi. Porovnejte to s tou původní. Měl jste v uvozovkách celé mysql_query().
andre
Profil
Omlouvám se, že jsem si nevšiml, že jste to opravil. Funguje to, mockrát Vám děkuji za ochotu. :-) Kdyby jste věděl o nějaké dobré příručče na internetu o MySql, budu rád za odkaz. Andre.
Alphard
Profil
MySQL FAQ
Z toho zvýrazním především
http://www.linuxsoft.cz/mysql/ Docela kvalitní tutoriál, dobře vysvětlený, ale zvláště prvních deset dílů je hodně teoretických. Ze začátku doporučuji spíše trochu přeskakovat, později se vrátit a přečíst to všechno.
Stučný přehled. Zdůrazňuji přehled, jako studijní materiál nic moc.

Databáze v kombinaci s PHP, začátek máte docela zvládnutý, ale neuškodí se na to podívat a navázat dalšími díly.

Pokud hledáte konkrétní věc, je samozřejmě nejlepší manuál.
andre
Profil
Ještě jednou děkuji.

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: