Problème base de donnée en php
ne2sbeal
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Quand je souhaite travaillé sur une base de donnée en php et qu'à moment donné je ferme la base avec un "mysql_close();", je teste le code en local et je reçoit un message : "la memoire ne peut pas etre read"
Je sais que c'est à ce niveau car si je travaille sur la base sans fermé la base à la fin il n'y a pas d'erreur.
Merci de votre aide
Quand je souhaite travaillé sur une base de donnée en php et qu'à moment donné je ferme la base avec un "mysql_close();", je teste le code en local et je reçoit un message : "la memoire ne peut pas etre read"
Je sais que c'est à ce niveau car si je travaille sur la base sans fermé la base à la fin il n'y a pas d'erreur.
Merci de votre aide
A voir également:
- Problème base de donnée en php
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Easy php - Télécharger - Divers Web & Internet
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Formules excel de base - Guide
5 réponses
Bonjour,
Pourrais-tu poster ton code s'il te plait, sinon nous ne pourrons pas t'aider.
A mon avis tu tente d'effectuer des requêtes SQL sur ta base de données après sa fermeture.
L'idéal lorsque tu as plusieurs requêtes à faire dans une même page, si ta conception te le permets bien sûr, c'est d'effectuer toutes les requêtes en début (plus ou moins) de page, de réceptionner les résultats dans des variables PHP, de fermer la connexion à ta base de données, puis ensuite d'interpréter là où tu le veux dans ta page, les résultats de tes requêtes.
Pourrais-tu poster ton code s'il te plait, sinon nous ne pourrons pas t'aider.
A mon avis tu tente d'effectuer des requêtes SQL sur ta base de données après sa fermeture.
L'idéal lorsque tu as plusieurs requêtes à faire dans une même page, si ta conception te le permets bien sûr, c'est d'effectuer toutes les requêtes en début (plus ou moins) de page, de réceptionner les résultats dans des variables PHP, de fermer la connexion à ta base de données, puis ensuite d'interpréter là où tu le veux dans ta page, les résultats de tes requêtes.
<?php if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent { if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer { // D'abord, on se connecte à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("chat"); // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // Ensuite on enregistre le message mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')"); // On se déconnecte de MySQL mysql_close(); } } // Que l'on ait enregistré des données ou pas... // On affiche le formulaire puis les 10 derniers messages // Tout d'abord le formulaire : ?> <form action="chat.php" method="post"> <p> Pseudo : <input type="text" name="pseudo" /><br /> Message : <input type="text" name="message" /><br /> <input type="submit" value="Envoyer" /> </p> </form> <?php // Maintenant on doit récupérer les 10 dernières entrées de la table // On se connecte d'abord à MySQL : mysql_connect("localhost", "root", ""); mysql_select_db("chat"); // On utilise la requête suivante pour récupérer les 10 derniers messages : $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10"); // On se déconnecte de MySQL mysql_close(); // Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?> <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p> <?php } // Fin de la boucle, le script est terminé ! ?>
Est-ce que ton erreur intervient dans ce bout de code :
Si oui, peux-tu essayer d'ajouter une déclaration de ta variable $données juste avant ta boucle, comme ceci :
Et regarde si ça change quelque chose.
Si ça ne change rien, essai d'écrire ton code comme ceci plutôt :
Et si le problème ne vient pas de ces lignes du tout, peux-tu donnre la ligne exact sur laquelle tu as ton erreur ?
// Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?> <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p> <?php } // Fin de la boucle, le script est terminé ! ?>
Si oui, peux-tu essayer d'ajouter une déclaration de ta variable $données juste avant ta boucle, comme ceci :
$donnees = null; // Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { ?> <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p> <?php } // Fin de la boucle, le script est terminé ! ?>
Et regarde si ça change quelque chose.
Si ça ne change rien, essai d'écrire ton code comme ceci plutôt :
// Puis on fait une boucle pour afficher tous les résultats : while ($donnees = mysql_fetch_array($reponse) ) { echo "<p><strong>".$donnees['pseudo']."</strong> : ".$donnees['message']."</p>"; } // Fin de la boucle, le script est terminé ! ?>
Et si le problème ne vient pas de ces lignes du tout, peux-tu donnre la ligne exact sur laquelle tu as ton erreur ?
j'avais fait un autre test avant sur un autre programme et la meme erreur apparaissait quand je fermais la base de donné avec le close
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question