Autor Zpráva
technik
Profil
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
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
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
technik:
http://cz.php.net/manual/en/mysqli.select-db.php
technik
Profil
Takže jde o
 mysqli_select_db($link, "world"); 
??
kde $link je
 $spojeni          =  mysqli_connect($db_server ,$db_login, $db_password);
fandaa
Profil
technik:
Ano.
technik
Profil
Aha. Je v 5.x.x ještě nějaká takováhle změna/y?
technik
Profil
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
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
technik:
Je tak těžké otevřít manuál? Ta samá věc: http://cz.php.net/manual/en/mysqli.query.php.
technik
Profil
hmm, když jsem ta měl mysql_ nešlo to. Po zadání mysqli to jede...
technik
Profil
fandaa:
Vim, už jsem to napravil...

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: