BDD mysql

Résolu/Fermé
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010 - 16 janv. 2010 à 02:34
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010 - 16 janv. 2010 à 17:46
Bonjour,

Je suis entrain de faire une boîte à idée sur mon site, mais j'ai qq petits problèmes dont celui-ci: lors de l'affichage de ma page boite.php j'ai ceci comme réponse.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/bastinpaliseul.be/bastinpaliseul.be/httpd.www/Pages/Boite/Boite.php on line 21

<?php
include ('config.php');
$reponse = mysql_query ("SELECT * FROM Boite ORDER BY id");
while ($donnees = mysql_fetch_array($reponse))
{
?>
<div class="toutes_news">
<div class="pseudo_toutes_news"><?php echo $donnees['pseudo'];?><?php echo $donnees['email'];?></div>
<div class="titre_toutes_news"><a href="affichage_news.php?id=<?php echo $donnees['id'];?>&titre=<?php echo $donnees['titre'];?>">
<?php echo $donnees['titre'];?></a></div>
</div>
<?php
}
mysql_close();
?>

De plus, lors je vais sur ma page ajout.php et que je rentre correctement mon formulaire, la page est censée appelée une autre page: ajout_idee.php qui elle insère les élément dans ma BDD. Je n'ai pas de message d'erreur, mais par contre je n'ai rien dans ma BDD.

Page ajout.php

<body>
<div class="titre_actu">Ecrire une idée pour le site</div>
<form method="post" action="ajout_idee.php">
<div class="idee">
<div class="titre_zone_texte">Pseudo :</div>
<div class="zone_texte"><input type="text" name="pseudo" size="50" maxlength="50"></div>
<div class="titre_zone_texte">Email :</div>
<div class="zone_texte"><input type="text" name="pseudo" size="50" maxlength="50"></div>
<div class="titre_zone_texte">Titre de l'idée :</div>
<div class="zone_texte"><input type="text" name="titre" size="100" maxlength="255"></div>
<div class="titre_zone_texte">Idée :</div>
<div class="zone_texte"><textarea name="news" rows="10" cols="60"></textarea></div>
</div>
<div class="bouton"><input type="submit" value="Valider"></div>
</form>
</body>

Page ajout_idee.php

<?php
include ('config.php');

if (isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['titre']) AND isset($_POST['idee']))
{
$pseudo = htmlentities($_POST['pseudo']);
$email = htmlentities($_POST['email']);
$titre = htmlentities($_POST['titre']);
$idee = mysql_real_escape_string(stripslashes($_POST['idee']));
$idee = nl2br($news);

if (empty($pseudo))
{
echo ("Saisissez votre pseudo");
exit();
}
if (empty($email))
{
echo ("Saisissez votre Email");
exit();
}
if (empty($titre))
{
echo ("Le titre ne peut être vide");
exit();
}
if (empty($idee))
{
echo ("Tapez une idée");
exit();
}
mysql_query ("Insert INTO Boite VALUES ('', ' " .$pseudo. " ', ' " .$email. " ', ' " .$titre. " ', ' " .$idee. " ')");
}
mysql_close();
echo 'Merci - Redirection automatique dans 5 secondes';
echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=http://bastinpaliseul.be/Pages/Boite/Boite.php'>";
?>

Et ma table se présente comme ceci:

id INT Auto_increment clé primaire
pseudo varchar 50
email varchar 50
titre varchar 50
news longtext


Bon voilà si qqn à une ou plusieurs idées, c'est le bienvenu!
Merci les amis...

2 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
16 janv. 2010 à 08:51
Salut,
j'ai reussi à reproduire l'erreur si tu n'as pas de mysql_select_db....
Tu l'as bien dans l'include?
@+
0
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010
16 janv. 2010 à 13:06
Oui je l'ai bien dans include, et j'ai comme message d'erreur: "no database selected".
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
16 janv. 2010 à 10:18
bonjour,

dans Page ajout_idee.php

<?php
include ('config.php');
echo "<pre>";print_r($_POST);echo "</pre>"; // pour voir ce qui est passé.
if (isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['titre']) AND isset($_POST['idee']))
{





puis
il me semble qu'il manque une quote ici
echo 'Merci - Redirection automatique dans 5 secondes';
echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=http://bastinpaliseul.be/Pages/Boite/Boite.php'>";

0
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010
16 janv. 2010 à 13:13
bonjour et merci déjà d'avoir répondu.

j'ai fait ceci:

<?php
mysql_connect("localhost", "BDD", "mot_de_passe"); // Connexion à la base de données
mysql_select_db("Boite"); // Sélection de la base de données
// include ('config.php');
$reponse = mysql_query ("SELECT * FROM Boite ORDER BY id") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
?>

Et j'ai ceci comme réponse: No database selected .

Je pige pas. Pourtant j'ai plusieur tables dans ma BDD et tout va bien avec les autres. Peut-être parce que j'ai mis une majuscule à "Boite"???

@+
0
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010
16 janv. 2010 à 13:37
J'ai essyé ce que tu m'as dit et j'ai ceci comme réponse:

Array
(
[pseudo] => gdfghd
[email] => fdsgdgf
[titre] => dfdf
[news] => hfghfghf
)

@+
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378 > Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010
16 janv. 2010 à 15:15
T'as essayé un truc du genre:
$con=mysql_connect("localhost", "user", "mot_de_passe");
mysql_select_db("BDD",$con);
0
Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010 > chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010
16 janv. 2010 à 16:18
j'ai essayé ceci:

<?php
//include ('config.php');
// On se connecte d'abord à MySQL :
$db=mysql_connect("localhost", "BDD", "MDP",$db);
mysql_select_db("boite",$db);
$reponse = mysql_query ("SELECT * FROM boite ORDER BY id") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
?>
<div class="toutes_news">
<div class="pseudo_toutes_news"><?php echo $donnees['pseudo'];?><?php echo $donnees['email'];?></div>
<div class="titre_toutes_news"><a href="affichage_news.php?id=<?php echo $donnees['id'];?>&titre=<?php echo $donnees['titre'];?>">
<?php echo $donnees['titre'];?></a></div>
</div>
<?php
}
mysql_close();
?>
Mais ca ne va toujours pas. Snifffffffffff.
@+
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378 > Dundeefly Messages postés 15 Date d'inscription jeudi 14 janvier 2010 Statut Membre Dernière intervention 3 avril 2010
16 janv. 2010 à 17:28
Essaye cela:
<?php
//include ('config.php');
// On se connecte d'abord à MySQL :
$db=mysql_connect("localhost", "USER", "MDP");
mysql_select_db("BDD",$db);
$reponse = mysql_query ("SELECT * FROM boite ORDER BY id") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse))
{
?>
<div class="toutes_news">
<div class="pseudo_toutes_news"><?php echo $donnees['pseudo'];?><?php echo $donnees['email'];?></div>
<div class="titre_toutes_news"><a href="affichage_news.php?id=<?php echo $donnees['id'];?>&titre=<?php echo $donnees['titre'];?>">
<?php echo $donnees['titre'];?></a></div>
</div>
<?php
}
mysql_close();
?>
0