Probleme requete ou boucle php
Résolu
mikeb1992
Messages postés
280
Date d'inscription
Statut
Membre
Dernière intervention
-
mikeb1992 Messages postés 280 Date d'inscription Statut Membre Dernière intervention -
mikeb1992 Messages postés 280 Date d'inscription Statut Membre Dernière intervention -
Bonsoir, je suis en train d'apprendre le php et j'essai de creer un livre d'or mais j'ai apparement un probleme avec une requete ( quoique je me demande si ca ne vient de la boucle que j'ai fait ou autre choses....)
Voici le bout de code qui me pose probleme :
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
Et lorsque que j'affiche la page j'obtiens cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\livreor.php on line 76
Merci de m'aider !
Voici le bout de code qui me pose probleme :
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
Et lorsque que j'affiche la page j'obtiens cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\livreor.php on line 76
Merci de m'aider !
A voir également:
- Probleme requete ou boucle php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
18 réponses
Tu dois bien utiliser une connexion MySQL : mysql_connect
et utilisé la ressource (la connexion) pour tes requetes.
et utilisé la ressource (la connexion) pour tes requetes.
Ben pourtant je me connecte a mysql en faisant ca :
mysql_connect("localhost", "root", "");
mysql_select_db("base02");
mysql_connect("localhost", "root", "");
mysql_select_db("base02");
Essaie ce genre de code (en baladant ta connexion, en parametre) :
$connection = @mysql_connect($tp_database_host, $tp_database_username, $tp_database_password);
$database = @mysql_select_db($tp_database_name);
$posts = mysql_query('SELECT * FROM textpattern', $connection);
while ($post = mysql_fetch_array($posts)) {
...
}
$connection = @mysql_connect($tp_database_host, $tp_database_username, $tp_database_password);
$database = @mysql_select_db($tp_database_name);
$posts = mysql_query('SELECT * FROM textpattern', $connection);
while ($post = mysql_fetch_array($posts)) {
...
}
Euh desoler d'etre debutant mais je suis pas sure d'avoir tout compris le code que vient de poster... :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Met ça et relance:
mysql_connect("localhost", "root", "") or die("Probleme avec la base de données");
mysql_connect("localhost", "root", "") or die("Probleme avec la base de données");
Et encore une fois, j'obtiens cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\livreor.php on line 76
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\livreor.php on line 76
remplace :
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage);
par
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage);
par
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
Voila ce que j'obtiens : Erreur SQL :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT0, 20' at line 1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT0, 20' at line 1
remplace :
'SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage
par
'SELECT * FROM livreor ORDER BY ID DESC LIMIT ' . $premierMessage . ', ' . $nombreDeMessageParPage
(avec un espace apres LIMIT)
'SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage
par
'SELECT * FROM livreor ORDER BY ID DESC LIMIT ' . $premierMessage . ', ' . $nombreDeMessageParPage
(avec un espace apres LIMIT)
Snif.. maintenant, j'ai ca :
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\tests\livreor.php on line 30
la ligne 30 corresponds a mysql_select_db("base02");
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\tests\livreor.php on line 30
la ligne 30 corresponds a mysql_select_db("base02");
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Livre d'or</title>
<style type="text/css">
p, form
{
text-align : center;
}
</style>
</head>
<body>
<form method="post" action="livreor.php">
<p>Ceci est le livre d'or, alors venez me dire si vous aimez le site</p>
<p>Pseudo : <input name="pseudo" /><br />
Message :<br />
<textarea name="message" rows="12" cols="35"></textarea><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<p>
<?php
mysql_connect("localhost", "root", "") or die("Probleme avec la base de données");
mysql_select_db("base02");
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
$nombreDeMessageParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nbre_message FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessage = $donnees['nbre_message'];
$nombreDePage = ceil($totalDesMessage / $nombreDeMessageParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePage ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
if (isset ($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessage = ($page - 1) * $nombreDeMessageParPage;
'SELECT * FROM livreor ORDER BY ID DESC LIMIT ' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
mysql_close();
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Livre d'or</title>
<style type="text/css">
p, form
{
text-align : center;
}
</style>
</head>
<body>
<form method="post" action="livreor.php">
<p>Ceci est le livre d'or, alors venez me dire si vous aimez le site</p>
<p>Pseudo : <input name="pseudo" /><br />
Message :<br />
<textarea name="message" rows="12" cols="35"></textarea><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<p>
<?php
mysql_connect("localhost", "root", "") or die("Probleme avec la base de données");
mysql_select_db("base02");
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
$nombreDeMessageParPage = 20;
$retour = mysql_query('SELECT COUNT(*) AS nbre_message FROM livreor');
$donnees = mysql_fetch_array($retour);
$totalDesMessage = $donnees['nbre_message'];
$nombreDePage = ceil($totalDesMessage / $nombreDeMessageParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePage ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
if (isset ($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessage = ($page - 1) * $nombreDeMessageParPage;
'SELECT * FROM livreor ORDER BY ID DESC LIMIT ' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
mysql_close();
?>
</body>
</html>
remplace :
mysql_select_db("base02");
par :
mysql_select_db("base02") or die("Probleme avec le choix de base");
mysql_select_db("base02");
par :
mysql_select_db("base02") or die("Probleme avec le choix de base");
j'ai juste ca :
Parse error: syntax error, unexpected ')' in C:\wamp\www\tests\livreor.php on line 74
Parse error: syntax error, unexpected ')' in C:\wamp\www\tests\livreor.php on line 74
La ligne 74 devrait etre :
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
Et ce n'est pas ce qu'il y a!
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
Et ce n'est pas ce qu'il y a!
Oupppsssssss ! Tu as presque raison, j'ai donc mis :
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
mais j'avais une erreur dont nous avions parlé plus haut (l'espace apres le LIMIT)
Et maintenant ca marche !!!
Mille merci, j'ai du faire quelques erreur d'etouderies !! ^^
$reponse = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT' . $premierMessage . ', ' . $nombreDeMessageParPage) or die("Erreur SQL : $query<br/>".mysql_error());
mais j'avais une erreur dont nous avions parlé plus haut (l'espace apres le LIMIT)
Et maintenant ca marche !!!
Mille merci, j'ai du faire quelques erreur d'etouderies !! ^^