SELECT * FROM rub_tbl WHERE id="1" ... pb de syntaxe .ca. passe pas
monlucon
Messages postés
1
Statut
Membre
-
ReDLoG Messages postés 393 Statut Membre -
ReDLoG Messages postés 393 Statut Membre -
Bonjour,
j'ai regardé de multiples forums et je n'arrive pas à résoudre la dernière erreur sur ma page.
Je veux juste afficher un enregistrement dans ma table rub_tbl en l'occurrence le titre de la rubrique.
Voici le code :
<?php
/*Afficher XXXX1 ACCUEIL */
$db = mysqli_connect ('localhost', 'user', '')
or die("Impossible de se connecter : " . mysql_error());
$sql='SELECT id,titre FROM rub_tbl WHERE id="1"';
$req = mysqli_query($db,$sql) or die ('ERREUR '.$sql.' '.mysql_error());
while ($data = mysqli_fetch_array($req));
{
echo'
<font face="arial" size="1" color="black">
<b><a href="index.php">'.$data["titre"].'</a></b></font> ';}
?>
J'ai ce message d'erreur : ERREUR SELECT id,titre FROM rub_tbl WHERE id="1"
PHP 5.5 Serveur Hostinger
Pourtant je ne vois rien
Je vous remercie de m'indiquer ce qui ne va pas en détail si vous avez le temps , ça me fera progresser ...
Cela fait plusieurs heures que je potasse là dessus et c'est rageant. sad
Je pense que c'est un problème de syntaxe. En plus je ne sais plus si on doit mettre mysql_query ou mysqli_query.
Quelles fonction comme mysql_query ont migré vers mysqli_query je sais qu'il y a mysqli_fetch array et pas mysql_erreur
c'est compliqué;)
Enfin, je vous remercie bien pour votre aide.
j'ai regardé de multiples forums et je n'arrive pas à résoudre la dernière erreur sur ma page.
Je veux juste afficher un enregistrement dans ma table rub_tbl en l'occurrence le titre de la rubrique.
Voici le code :
<?php
/*Afficher XXXX1 ACCUEIL */
$db = mysqli_connect ('localhost', 'user', '')
or die("Impossible de se connecter : " . mysql_error());
$sql='SELECT id,titre FROM rub_tbl WHERE id="1"';
$req = mysqli_query($db,$sql) or die ('ERREUR '.$sql.' '.mysql_error());
while ($data = mysqli_fetch_array($req));
{
echo'
<font face="arial" size="1" color="black">
<b><a href="index.php">'.$data["titre"].'</a></b></font> ';}
?>
J'ai ce message d'erreur : ERREUR SELECT id,titre FROM rub_tbl WHERE id="1"
PHP 5.5 Serveur Hostinger
Pourtant je ne vois rien
Je vous remercie de m'indiquer ce qui ne va pas en détail si vous avez le temps , ça me fera progresser ...
Cela fait plusieurs heures que je potasse là dessus et c'est rageant. sad
Je pense que c'est un problème de syntaxe. En plus je ne sais plus si on doit mettre mysql_query ou mysqli_query.
Quelles fonction comme mysql_query ont migré vers mysqli_query je sais qu'il y a mysqli_fetch array et pas mysql_erreur
c'est compliqué;)
Enfin, je vous remercie bien pour votre aide.
A voir également:
- SELECT * FROM rub_tbl WHERE id="1" ... pb de syntaxe .ca. passe pas
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
1 réponse
Bonjour,
Je pense que l'erreur se situe dans la requête au niveau de la clause WHERE car l'ID dans la table rub_tbl doit être de type INT(eger), or dans ta requête le fait de mettre des simples quotes autour de l'ID signifie que c'est un type STRING, ce qui fait planter la requête au moment de l'exécution.
Seconde erreur, il ne faut pas mettre de point-virgule à la fin de l'instruction WHILE.
Donc modifies en ce sens et dis-nous le résultat :
Je ne travaille pas avec l'extension mysqli_ mais avec PDO et MySQL, je te conseille fortement de passer également à la classe mysqli (+ d'info ici https://www.php.net/manual/fr/class.mysqli.php
Cordialement.
Je pense que l'erreur se situe dans la requête au niveau de la clause WHERE car l'ID dans la table rub_tbl doit être de type INT(eger), or dans ta requête le fait de mettre des simples quotes autour de l'ID signifie que c'est un type STRING, ce qui fait planter la requête au moment de l'exécution.
Seconde erreur, il ne faut pas mettre de point-virgule à la fin de l'instruction WHILE.
Donc modifies en ce sens et dis-nous le résultat :
<?php
/* Afficher XXXX1 ACCUEIL */
$db = mysqli_connect('localhost', 'user', '')or die("Impossible de se connecter : " . mysqli_error());
$sql = 'SELECT id,titre FROM rub_tbl WHERE id=1';
$req = mysqli_query($db,$sql) or die ('ERREUR '.$sql.' '.mysqli_error());
while($data = mysqli_fetch_array($req)) {
echo '<font face="arial" size="1" color="black"><b><a href="index.php">'.$data["titre"].'</a></b></font>';
}
?>
Je ne travaille pas avec l'extension mysqli_ mais avec PDO et MySQL, je te conseille fortement de passer également à la classe mysqli (+ d'info ici https://www.php.net/manual/fr/class.mysqli.php
Cordialement.