{MySQL} Mysql plante sur une requête simple

Fermé
thob31 - 16 janv. 2010 à 08:56
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 1 mars 2010 à 18:20
Bonjour,
je travaille actuellement sur un projet de newsletter en php pour mon site, sur un serveur local.
j'ai un fichier php qui me sert à lister les adresses emails dans une bdd, mais malheureusement, quand je le
teste en local, la page ne s'affiche pas, et Windows me dit que Apache à céssé de fonctionner.
Ce qui est d'autant plus étrange, c'est que le même test sur un serveur en ligne fonctionne parfaitement !

Voici le code php du fichier :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mailer PHP/DB - list</title>
</head>
<body>
<strong>Système de Newsletter</strong><br /><br />
Liste des inscrits dans la newsletter :<br />
<?php
mysql_connect("localhost", "root", "motdepasse");
mysql_select_db("ma_bdd");
$liste_emails = mysql_query("SELECT * FROM maillisting_test");
// On fait une boucle pour lister le contenu de notre table
while ($donnees = mysql_fetch_array($liste_emails) )
{
?>
<p>
<?php echo $donnees['emails']; ?><br />

<?php
}


mysql_close();

?>
</body>
</html>

Quelqu'un pourrait m'aider à résoudre ce problème bien embêtant ?

Cordialement, thob31.

PS : bien que je développe en localhost, j'utilise mon serveur online pour mettre en place le système, et je ne me suis jamais posé la question de comment configurer le smtp sur un serveur localhost, si quelqu'un sait
comment le faire, merci de me le dire ^^
A voir également:

21 réponses

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:12
bonjour,

il y a deux question sdans ton message.

1 apache a céssé de focntionner : cela arrive de temps en temps, il suffut de le relancer avant de refaire les tests des scripts.

2 pour le serveur smtp local, une recherche dans CCM te donnera la réponse car plusieurs fois traités.
la config de php doit faire pointer le serveur local smtp vers le smtp de ton FAI.
0
Apache cesse de fonctionner a chaque fois que j'essaye d'éxecuter le php, je le redémarre chaque fois et c'est chaque fois pareil.
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 à 18:38
y a-t-il un mesage d'erreur dans la log
0
firefox n'affiche simplement pas la page, il dit que le serveur a réinitialisé la connection. si vous parlez de logs, je ne sais pas ou les trouver...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
17 janv. 2010 à 10:33
bonjour,

le code suivant fonctionne chez moi.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mailer PHP/DB - list</title>
</head>
<body>
<strong>Système de Newsletter</strong><br /><br />
Liste des inscrits dans la newsletter :<br />
<?php
mysql_connect("localhost", "root", "mysql");
mysql_select_db("bdd");
$result = mysql_query("SELECT * FROM table");
// On fait une boucle pour lister le contenu de notre table
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$result) {
$message = "Requête invalide : " . mysql_error() . "\n";
$message .= "Requête complète : " . $query;
die($message);
}

for ($i=0;$i<sizeof($result);$i++){
$ligne=mysql_fetch_row($result);
print_r($ligne);
}
/*
while ($donnees = mysql_fetch_array($liste_emails) )
{
echo $donnees['emails'];
echo "<br />";

}
*/

mysql_close();

?>
</body>
</html>
0
Même avec ton code, j'obtient le même problème, giheller....
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
17 janv. 2010 à 14:52
Il faut aboslument savoir pour apache se plante.
si tu travailles avec easyphp, il faut aller dans fichier log et erreur apache.
0
je vient de regarder les logs d'apache, rien sur ces erreurs, je ne comprends pas... d'autant plus que quand apache cesse de fonctionner, il redémarre tout seul en moins de 1 seconde! je travaille sous wamp.
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
17 janv. 2010 à 15:13
il va falloir "déboguer" au pas ) pas pour savoir c quei ne va pas.
ton tu prends ton code et tu testes les ligens du début, puis tu racjoutes des lignes au fur et à mesure jusqu'à trouver ce qui ne lui plait pas.
je ne peux faire ça pour toi puisque le code fontionne chez moi.
j'attends ton retour.


post scriptum : la requête fonctionne t-elle en phpmyadmin (si cela existe sous wamp : ou sous un autre nom)
0
apparemment ce serait cette ligne qui fait tout planter
$result = mysql_query("SELECT * FROM matable");

or, j'ai essayé d'éxecuter cette requete sur php my admin, et elle fonctionne très bien...
c'est incompréhensible.
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
17 janv. 2010 à 16:50
matable est bien entendu remplacé par le nom de la table en base ?
0
oui biensur
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
17 janv. 2010 à 17:54
a la place de ça :
mysql_connect("localhost", "root", "mysql");
mysql_select_db("bdd");

essayons ça :
$db_server ="localhost";
$db_name = "bdd";
$username = "root";
$password = "mysql";
#Connexion à la base
$connect = @mysql_connect($db_server,$username,$password) or die ("La connection sur $db_server avec le login root/mysql plantée.");

#select
$db = @mysql_select_db("matable") or die
("Connexion réussie, mais base '$db_name' non trouvée.");
0
ton code marche parfaitement !
et maintenant je fait quoi ?
0
mince, je suis bête le code tout court executée ( celui que tu ma donné au post 13 ) fonctionne tout seul, couplé avec ton code du post 5, il me donne ça :

Système de Newsletter

Liste des inscrits dans la newsletter :

Notice: Undefined variable: query in C:\wamp\www\PHP-Mailer-LocalHost-DB\list3.php on line 26
Requête invalide : 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 'table' at line 1 Requête complète :
0
ce qui correspond à cette ligne :
$message .= "Requête complète : " . $query;
0
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
20 janv. 2010 à 17:24
j'ai encore dit une bêtise.....
le code a fonctionné, car j'avais ommis de mettre le nom de la table ici :
$result = mysql_query("SELECT * FROM table");
avec le bon nom de table, il y a erreur, comme au tout début....
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
20 janv. 2010 à 17:55
bonsoir,
peut-on recadrer le problème.
qu'est qui marche et q'estce ne fonctionne pas ?
le code est pour moi correct, il fonctionne sur tous mes sites.

est-ce pache qui plante ? si oui qui a-t-il dans la log apache.
je ne sais pas où elle est sous wamp (je travaille avec easyphp).
0
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
20 janv. 2010 à 18:26
Il n'y a rien dans les logs d'apache, comme tooujours...
Ton patch ne fonctionne pas sur mon code de départ, et sur le code que tu ma proposé au post 5 je croit.
Dans les deux cas, apache cesse de fonctionner.
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
20 janv. 2010 à 18:27
Le problème ne doit pas venir du code mais de apache.

as-tu essayé de le réinstaller ?
cela se passe-t-il pour tous les codes que tu testes ?

0