Ahoj,
mohl byste mi někdo řici, kde dělám chybu při výpisu dat z db? Připojení mi proběhne úspěšně. Nefunguje mi pouze výpis. Na localhostu my vše funguje. Tím myslím připojení i výpis ale zde na wz.cz mi výpis nějak nefunguje.
<?php
//Připojení
$db_spojeni=mysql_connect('mysql.webzdarma.cz', 'uživ.jméno', 'heslo', 'databáze', 3306);
if ($db_spojeni) {
mysql_query("SET NAMES 'UTF8'"); } else {echo 'Připojení se nezdařilo'.mysql_connect_error();};
//Výpis dat
$objekt_vysledku=mysql_query($db_spojeni, "SET NAMES 'utf8'");
$objekt_vysledku=mysql_query($db_spojeni, "SELECT * FROM `articles` ORDER BY `datum` DESC ");
while ($odkaz = mysql_fetch_array($objekt_vysledku))
{
echo '<div class="main_article_div">';
echo '<div class="nadpis">', $odkaz ['title'], '</div>';
echo '<div class="anotace">', $odkaz ['annotation'], '</div>';
echo '<div class="autor">', 'Autor: ', $odkaz ['id_autor'], '</div>';
echo '<div class="datum">', 'Datum: ', $odkaz ['datum'], '</div>';
echo '</div>';
}
;
?>
Máš to nějaké popletené. Kde jsi přišel ke 4. a 5. parametru mysql_connect()? Proč máš přehozené parametry funkce mysql_query()? Jak je možné, že ti tenhle bastl na localhostu funguje?
To první mysql_query nastaví češtinu. Ptal jsem se spíše na radu, ne na chytré řeči.
Ten první mysql_query() máš jako jediný správně. Ostatní mají přehozené parametry. To jsou ty mé chytré řeči. Snad si to konečně spravíš.
V php jsem začátečník. Takhle jsem to našel na jednom webu a na localhostu to fungovalo. Nevím, proč mi to nevypíše data, když připojení i zápis do db normálně funguje.
Protože funkce mysql_query() jako první parametr očekává SQL dotaz. Ty jsi tam nacpal $db_spojeni.
Tak jsem to změnil na
$objekt_vysledku=mysql_query( "SET NAMES 'utf8'",$db_spojeni);
$objekt_vysledku=mysql_query("SELECT * FROM `articles` ORDER BY `datum` DESC ",$db_spojeni); ale pořád to nejde. Zkoušel jsem i změnit druh výpisu ale taky nic. Jsem v prdeli:D.
Tak to už vypadá lépe. Teď ještě zruš 4. a 5. parametr u funkce mysql_connect() a před ty 2 dotazy vlož ještě jeden řádek:
mysql_select_db('databáze',$db_spojeni);
4. a 5. parametrem myslíte co?
Jo, pochopil jsem. Ale 4 parametrem nahradím zvolení databáze a 5 zvolím port.
Připojení má vypadat takto:
$db_spojeni=mysql_connect('mysql.webzdarma.cz', 'uživ.jméno', 'heslo');
A ve kterém manuálu jsi vyčetl, že mají být na 4. a 5. pozici? Tam patří něco úplně jiného.
Bylo to v knize od Miloslava Ponkráce.
To je dobrý autor. Není to náhodou pro starší verzi PHP?
Je to 4 roky starý. Ale i tak ten výpis fungoval normálně. Já si lámu hlavu s tím, proč mi jdou vložit data do tabulky ale nejdou z ní ven. Ano, je to opravdu dobrý autor. Detailně popisuje každou funkci.
Už to vidím. To se týká ovladače MySQLi, který na WZ není. Jsou tady jen ovladače MySQL a PDO. Zřejmě jsi nahradil funkci mysqli_connect() funkcí mysql_connect() a parametry ponechal.
Takže, co mám tedy udělat aby výpis fungoval? Ano, nejdříve jsem měl mysqli. TO mi hodilu error
Fatal error: Call to undefined function mysqli_connect() in /3w/wz.cz/m/machyweb/php/connect.php on line 3 .
Proto jsem přepsal hodnoty mysqli na mysql. TO mi sice nevypíše error ale ani nevypíše data.
Jsou to různé funkce s různými parametry, proto ti to nemohlo fungovat. Myslím si, že vše potřebné v tomto vlákně už proběhlo, teď už jen to dát do kupy. Číslo portu nepotřebuješ a pro výběr databáze jsem ti funkci už napsal.
Ok. Zkusim co jste mi poradil. Děkuji za rady:).
dekuju moc za rady, taky jsem predtim pracoval jen s mysqli a s mysql jsem si moc nevedel rady u vypisu. Samozrejme, ze jsem mel stejne chyby jak kolega :)
Diky.