Bonjour à tous,

suivant la version 2 du PHP5 avancé de Daspet/Geyer (ch.11, p.245), j'essaye de créer une fonction de vérification du couple login/mdp d'un utilisateur lors d'une connexion à une session

* J'ai une table MySQL5 session avec SES_LOGIN et SES_MDP où sont stockées les infos nécessaires.
* le login et le mdp arrivent via un formulaire post : $_POST['login'] et $_POST['mdp']

voici le code en mysql copié de "PHP 5 avancé" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function verification($login, $mdp) { //($login = $_POST['login'])
//infos connexion...
//création requête
$login = mysql_real_escape_string($login);
$mdp = mysql_real_escape_string($mdp);
$sqlses = "SELECT SES_LOGIN, SES_MDP FROM session"
	." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'";
//exécution
$result = mysql_query($sqlses);
	if (mysql_num_rows($result)>0) {
			return TRUE;
			} else {
			return FALSE;
			}
}
Voici mon code en mysqli qui ne marche pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
1. function verification($login, $mdp) {
2. include ('Connections/annuaire-mysqli.php');
3. mysqli_select_db($link, 'annuaire');
4. $login = mysqli_real_escape_string($link, $login);
5. $mdp = mysqli_real_escape_string($link, $mdp);
6. $sqlses = "SELECT SES_LOGIN, SES_MDP FROM session"
	      ." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'";
7. $rqp = mysqli_prepare($link, $sqlses);
8. mysqli_stmt_execute($rqp); //Warning: mysqli_stmt_execute() expects  parameter 1 to be mysqli_stmt, boolean given
9. $result = mysqli_stmt_num_rows($rqp); //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, boolean given 
10.			if (mysqli_stmt_num_rows($result)>0) { //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, null given
11.			return TRUE;
12.			} else {
13.			return FALSE;
14.			}
15.		}
faut-il encore protéger les variables en 4 et 5 avec Mysqli ? (hé au fait comment on numérote automatiquement les lignes dans la balise code ?)

Merci d'avance à ceux qui voudront bien éclairer ma lanterne après un RTFM infructeux...