Code MySQL fonctionne, code MySQLi non
Résolu
Yuuto
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Yuuto Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Yuuto Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai tout d'abord commencé par taper mon code MySQL, jusque là tout fonctionne et s'affiche correctement:
A partir de celui-ci j'ai fait quelques modifications pour le passer en MySQLi comme ceci:
Ici, ça bloque apparemment à partir du "while" car j'ai bien la première partie du tableau qui s'affiche avec "id, nom, prénom, age et ville" mais je n'ai pas les résultats de ma table ni le reste du tableau.
Je ne m'y connais pas beaucoup en MySQL alors du coup je ne sais pas si pour le MySQLi, il y a autre chose à rajouter que j'aurais oublié? D'où peut provenir ce problème?
Merci d'avance!
J'ai tout d'abord commencé par taper mon code MySQL, jusque là tout fonctionne et s'affiche correctement:
<HTML>
<HEAD>
<TITLE>Exercice2</TITLE>
</HEAD>
<BODY>
<?
mysql_connect("localhost","root","root");
mysql_select_db("devoir_cnfdi");
$requete = "select * from Eleves_cnfdi";
$resultat = mysql_query($requete);
echo mysql_num_rows($resultat);
?>
<table width="300" border="1">
<tr align="center">
<td>Id</td>
<td>Nom</td>
<td>Prenom</td>
<td>Age</td>
<td>Ville</td>
</tr>
<? While($row=mysql_fetch_array($resultat))
{ ?>
<tr align="center">
<td><? Echo $row["Id"]; ?> </td>
<td><? Echo $row["Nom"]; ?> </td>
<td ><? Echo $row["Prenom"]; ?> </td>
<td ><? Echo $row["Age"]; ?> </td>
<td><? Echo $row["Ville"]; ?> </td>
</tr>
<? } ?>
</table>
</body>
</html>
A partir de celui-ci j'ai fait quelques modifications pour le passer en MySQLi comme ceci:
<HTML>
<HEAD>
<TITLE>Exercice2</TITLE>
</HEAD>
<BODY>
<?
mysqli_connect("localhost","root","root","devoir_cnfdi");
mysqli_select_db("devoir_cnfdi");
$requete = "select * from Eleves_cnfdi";
$resultat = mysqli_query($requete);
echo mysqli_stmt_num_rows($resultat);
?>
<table width="300" border="1">
<tr align="center">
<td>Id</td>
<td>Nom</td>
<td>Prenom</td>
<td>Age</td>
<td>Ville</td>
</tr>
<? While($row=mysqli_fetch_array($resultat))
{ ?>
<tr align="center">
<td><? Echo $row["Id"]; ?> </td>
<td><? Echo $row["Nom"]; ?> </td>
<td ><? Echo $row["Prenom"]; ?> </td>
<td ><? Echo $row["Age"]; ?> </td>
<td><? Echo $row["Ville"]; ?> </td>
</tr>
<? } ?>
</table>
</body>
</html>
Ici, ça bloque apparemment à partir du "while" car j'ai bien la première partie du tableau qui s'affiche avec "id, nom, prénom, age et ville" mais je n'ai pas les résultats de ma table ni le reste du tableau.
Je ne m'y connais pas beaucoup en MySQL alors du coup je ne sais pas si pour le MySQLi, il y a autre chose à rajouter que j'aurais oublié? D'où peut provenir ce problème?
Merci d'avance!
A voir également:
- Code MySQL fonctionne, code MySQLi non
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
Bonjour
1 - Tu n'as pas à faire
2 - Par contre, tu DOIS récupérer l'identifiant de lien rendu par mysqli_connect pour t'en servir comme premier paramètre de mysqli_query:
1 - Tu n'as pas à faire
mysqli_select_db("devoir_cnfdi");car la base est déjà sélectionnée par le mysqli_connect.
2 - Par contre, tu DOIS récupérer l'identifiant de lien rendu par mysqli_connect pour t'en servir comme premier paramètre de mysqli_query:
$link=mysqli_connect("localhost","root","root","devoir_cnfdi");
// mysqli_select_db("devoir_cnfdi"); inutile
$requete = "select * from Eleves_cnfdi";
$resultat = mysqli_query($link,$requete);
Je vois l'erreur, encore une fois merci à vous, vous me sauvez la vie!
Mes cours sont tellement "bien faits" qu'il y a au moins une erreur à chaque code (ou bien il est incomplet) sur lequel je dois re-travailler...