Autor | Zpráva | ||
---|---|---|---|
technik Profil |
#1 · Zasláno: 12. 3. 2010, 17:25:24
Nedávno jsem přešel z serveru webzdarma (kde měli php verze 4.x.x) na endora (kde mají php 5.x.x). Když jsem na hosting nahrál soubory a spustil je, začalo to hlásit chyby u práce s mysql :
Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /home/users/evalion/evalion.hys.cz/web/zdroje/connect.php on line 10 Nepodařilo se připojit Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/users/evalion/evalion.hys.cz/web/zdroje/connect.php on line 14 Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/users/evalion/evalion.hys.cz/web/login_zpracuj.php on line 18 Fatal error: Call to undefined function mysqli_result() in /home/users/evalion/evalion.hys.cz/web/login_zpracuj.php on line 19 Nejprve jsem nahradil mysql_ za mysqli_ ale ani to nepomohlo. S touto chybou jsem se ještě nesetkal, takže vůbec nevím co s tím. Jaký je rozdíl mezi verzemi php 5.x.x a 4.x.x ? Je to vůbec způsobeno verzí php nebo jde o verzi MySQL? Děkuji a vysvětlení. |
||
technik Profil |
#2 · Zasláno: 12. 3. 2010, 17:26:54
Soubor connect.php:
<?php $db_server = 'localhost'; $db_login = 'xxx'; $db_password = xxx'; $db_name = 'xxx'; $spojeni = mysqli_connect($db_server ,$db_login, $db_password); if (!$spojeni){ echo "Spojení se nepodařilo"; } $database = mysqli_select_db($db_name); if (!$database){ echo "Nepodařilo se připojit"; } mysqli_query("SET NAMES utf8"); ?> |
||
technik Profil |
#3 · Zasláno: 12. 3. 2010, 17:28:07
Soubor login_zpracuj.php:
<?php include "zdroje/connect.php";// připojení k databázi if(isset($_POST['send'])){ $login = $_POST["jmeno"];// nick zadaný ve formuláři pro přihlašování $heslo = $_POST["heslo"];// heslo zadané ve formuláři pro přihlašování $md5heslo = md5($heslo);// Pomocí funkce md5() heslo zahashujeme if($login==""){ echo'Nebyl vyplněn nick!'; } else if($heslo==""){ echo'Nebylo vyplněno heslo'; } } /* --- DOTAZ K MYSQL PRO OVĚŘENÍ PŘIHLAŠOVACÍCH DAT --- */ $dotaz = mysqli_query("SELECT * FROM `uzivatele` WHERE login = '$login' AND heslo = '$md5heslo'"); $overeni = mysqli_fetch_array($dotaz); $row = mysqli_fetch_array($dotaz); if ($row['ok'] == 0){ echo "Váš účet není aktivovaný! <br>"; echo "Buď jste ještě neaktivovali Váš účet pomocí emailu, nebo byl Váš účet zablokován. <br>"; echo "<small>Nepřišel Vám email? Napište si o něj <a href='mailto:admin@evalion.wz.cz'>adminovi</a></small>"; } else{ if($overeni == 1) { session_start(); $_SESSION['login'] = $login; // Zapíšeme si jeho lgoin který získáme z MySQL $_SESSION['id'] = $row["id"]; // Zapíšeme si jeho id které získáme z MySQL header("Location: s1/admin.php"); // Tímto příkazem přesměruje přihlášeného uživatele na stránku kterou může vidět pouze on die(); } else { echo'Zadal jsi špátný login nebo heslo!'; } } ?> |
||
fandaa Profil |
#4 · Zasláno: 12. 3. 2010, 17:32:00
|
||
technik Profil |
#5 · Zasláno: 12. 3. 2010, 17:34:58 · Upravil/a: technik
Takže jde o
mysqli_select_db($link, "world"); kde $link je $spojeni = mysqli_connect($db_server ,$db_login, $db_password); |
||
fandaa Profil |
#6 · Zasláno: 12. 3. 2010, 17:37:35
technik:
Ano. |
||
technik Profil |
#7 · Zasláno: 12. 3. 2010, 17:39:53 · Upravil/a: technik
Aha. Je v 5.x.x ještě nějaká takováhle změna/y?
|
||
technik Profil |
#8 · Zasláno: 12. 3. 2010, 17:48:46
Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/users/evalion/evalion.hys.cz/web/zdroje/connect.php on line 14 Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/users/evalion/evalion.hys.cz/web/login_zpracuj.php on line 18 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/users/evalion/evalion.hys.cz/web/login_zpracuj.php on line 19 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/users/evalion/evalion.hys.cz/web/login_zpracuj.php on line 20 Když jsem v connect.php přepsal požadovaný řádek, ukázala se tato chyba. |
||
larryx Profil |
#9 · Zasláno: 12. 3. 2010, 17:51:34
no napriklad mysqli_query($link, "SELECT..."); a myslim ze je tam toho viac... treba manual citat.
inak to ze si presiel na php 5.x.x neznamena ze si musel prejst aj na mysqli extension... mysql normalne funguje v 5tke... |
||
fandaa Profil |
#10 · Zasláno: 12. 3. 2010, 17:53:12
technik:
Je tak těžké otevřít manuál? Ta samá věc: http://cz.php.net/manual/en/mysqli.query.php. |
||
technik Profil |
#11 · Zasláno: 12. 3. 2010, 17:53:27
hmm, když jsem ta měl mysql_ nešlo to. Po zadání mysqli to jede...
|
||
technik Profil |
#12 · Zasláno: 12. 3. 2010, 17:54:03
fandaa:
Vim, už jsem to napravil... |
||
Časová prodleva: 16 let
|
0