| 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