begin process at 2012 02 13 15:37:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Requete SQL qui marche pas en PHP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requete SQL qui marche pas en PHP

mercredi 17 juin 2009 à 11:02:26 | Requete SQL qui marche pas en PHP

6xavier6

Bonjour,

Alors j'ai un problème avec une requête SQL,
au premier chargement de ma page la requête est exécuter correctement mais quand je la recharge,
la requête n'est pas bien exécuter.

Ce que dois faire ma page :
- se connecter a la database et afficher sous forme de tableau les informations lu.
- devant chaque ligne, il y a un boutton qui permet de recharger la meme page en supprimant la ligne.

Il y a 2 requete SQL distincte :
une requete pour laffichage executer au deux chargement de la page
une requete de suppression appeler uniquementy si l'utilisateur a cliquer sur le bouton
 
Problème rencontré
apres avoir fait une suppression, la requete d'affichage ne marche pas, mon programme me retourne "ERREUR REQUETE : SELECT * FROM matable;"

Merci de votre aide
Xavier

Code de la page
<?php
    session_start();
    include_once('admin.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <link rel="stylesheet" href="style.css" type="text/css">
        <title>ADMINISTRATION</title>
    </head>
   
    <body>
        <?php
            if(isset($_SESSION['pass']))
            {
                if($_SESSION['pass'] == $mdp)
                {
        ?>           
                    <div>
                        <ul>
                            <li><a href="affichage.php"><img src="images/afficher.gif">Afficher</a></li>
                            <li><a href="ajout.php"><img src="images/ajouter.png">Ajouter</a></li>
                            <li><a href="modification.php"><img src="images/modifier.png">Modifier</a></li>
                           
                        </ul>
                    </div>
                    <div>
                        <img src="images/logo.jpg" alt="Logo Aqualung" />
                    </div>
                    <div>
        <?php
                        if(isset($_POST['supress']))
                        {
                            include_once('open_database.php');
                            $query1 = 'DELETE FROM '.$NomTable.' WHERE rang = '.$_POST['supress'].';';
                            $result1 = mysql_query($query1);
                            if (!$result1)
                            {
                                echo "ERREUR REQUETE : ".$query1;
                            }
                            else
                            {   
                                echo'ENTREGISTREMENT N° '.$_POST['supress'].' SUPPRIME';
                            }
                            mysql_free_result($result1);
                            include_once('close_database.php');   
                        }
        ?>
                    </div>
                    <div>
                        <table>
        <?php
                            include_once('open_database.php');
                            $query = 'SELECT * FROM '.$NomTable.';';
                            $result = mysql_query($query);
                            if (!$result)
                            {
                                echo "ERREUR REQUETE : ".$query;
                            }
                            else
                            {   
                                while ($row = mysql_fetch_assoc($result))
                                {
                                    echo'<tr>';
                                       
                                        echo'<td><form method="post" action="supression.php"><p><input type="hidden" name="supress" value="'.$row["rang"].'"><input type="submit" value=".:: EFFACER ::."></p></form></td>';
                                        echo'<td>'.$row["id"].'</td>';
                                        echo'<td>'.$row["zip"].'</td>';
                                        echo'<td>'.$row["ville"].'</td>';
                                        echo'<td>'.$row["enseigne"].'</td>';
                                        echo'<td>'.$row["adresse"].'</td>';
                                        echo'<td>'.$row["tel"].'</td>';
                                        echo'<td>'.$row["swim_center"].'</td>';
                                        echo'<td><img src="images/'.$row['pays'].'.gif" /></td>';
                                    echo'</tr>';
                                }           
                            }
                            mysql_free_result($result);
                            include_once('close_database.php');           
        ?>
                        </table>
                    </div>
        <?php       
                }
                else
                {
                    echo'<h1>SESSION INCORRECTE</h1>';
                    echo'<h1>IDENTIFIEZ-VOUS <a href="index.php">ICI</a></h1>';
                }
            }
            else
            {
        ?>
                <div>
                    <img src="images/logo.jpg" width="400" height="69">
                    <form method="post" action="index.php">
                        <input type="password" name="pass" id="pass" />
                        <br />
                        <input type="submit" value=".:: OK ::." />
                    </form>
                </div>
        <?php
            }
        ?>
    </body>
</html>
mercredi 17 juin 2009 à 14:16:39 | Re : Requete SQL qui marche pas en PHP

citt

Remarque 1 :
n'utilise qu'une fois tes includes dans tous les cas tu va faire du SQL donc ca ne sert à rien des les loader deux fois lors de la suppression

D'ou viens $NomTable ??
a tu essayé de passer plutot en GET l'id à del ?


Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]
mercredi 17 juin 2009 à 15:47:47 | Re : Requete SQL qui marche pas en PHP

6xavier6

Réponse acceptée !
L'erreur provient du "include_once" qui comme son nom l'indique n'inclue qu'une seule fois.

Le second "include_once('open_database.php');" n'est pas appeler
donc la database n'est pas ouverte au moment de la requete
d'où l'erreur
mercredi 17 juin 2009 à 18:16:25 | Re : Requete SQL qui marche pas en PHP

kohntark

Membre Club
Salut,

Tout d'abord ne valide pas une réponse si elle ne résous pas ton pb. Dans le cas contraire peu de personnes vont lire ton post.
Peut on connaitre le contenu de close_database.php et open_database.php ?


L'erreur provient du "include_once" qui comme son nom l'indique n'inclue qu'une seule fois.
=>
Ca n'empêche que Cltt a raison, ça ne sert à rien de les mettre


Bon, je n'ai que parcouru le code, commence par remplacer :
echo "ERREUR REQUETE : ".$query;
=>
echo "ERREUR REQUETE : ".$query."<br/>".mysql_error();

Quel est le message d'erreur affiché ?


Cordialement,

Kohntark -

mercredi 17 juin 2009 à 18:18:14 | Re : Requete SQL qui marche pas en PHP

kohntark

Membre Club
Le second "include_once('open_database.php');" n'est pas appeler
donc la database n'est pas ouverte au moment de la requete
d'où l'erreur
=>
qu'est ce qui te fait dire ça ?


Kohntark -

mercredi 17 juin 2009 à 20:25:17 | Re : Requete SQL qui marche pas en PHP

citt

Il est vrai que sans le code des includes on ne peut pas trop se pronostiquer !!

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]
jeudi 18 juin 2009 à 08:56:21 | Re : Requete SQL qui marche pas en PHP

6xavier6

Réponse acceptée !
Alors, pour être puriste,
la vraie réponse au problème est :
il faut sortir les include_once des conditions et les laisser unitaire.
Soit "include_once('open_database.php');" en début de code et "include_once('close_database.php');" en fin de code.


Ce qui me fait dire que la database est pas ouverte ? j'ai changer mon code comme cité ci-dessus et tout fonctionne comme je le voulais.

Merci pour cette partie de code en tout cas
"echo "ERREUR REQUETE : ".$query."<br/>".mysql_error();"
Je la trouve plus parlante quand l'erreur aparait.

Merci pour vos reponses

Xavier

OPEN_DATABASE
<?php
    $serveur = mysql_connect($Host, $User, $PassWord);
    if ($serveur)
    {
        $db = mysql_select_db($NomBase, $serveur);
        if (!$db)
        {
            die ('Impossible d\'utiliser la base : ' . mysql_error());
        }
    }
    else
    {
        die('Non connecté : ' . mysql_error());
    }
?>

CLOSE_DATABASE
<?php
    mysql_close();
?>
jeudi 18 juin 2009 à 16:18:56 | Re : Requete SQL qui marche pas en PHP

kohntark

Membre Club
A voir le contenu des 2 fichiers c'est bien normal.
en réalité ton deuxième open_database ainsi que le deuxième close_database ne sont jamais appelé lorsque $_POST['supress'] existe. Ainsi la requête $query = 'SELECT * FROM '.$NomTable.';'; ne peut être exécutée.

2 petites remarques :
Sauf à travailler avec plusieurs serveurs de base de données mysql_close, et donc close_database, ne sert à rien, la connexion étant fermée automatiquement à la fin du script.
mysql_error() ne doit être présent que pour le débogguage sinon gard aux problèmes de sécurité !! En parlant de sécurité renseigne toi également sur mysql_real_escape_string, car en l'état actuel il est très simple de faire de l'injection et effacer totalement ta base de données.

Cordialement,


Kohntark -

vendredi 19 juin 2009 à 08:48:13 | Re : Requete SQL qui marche pas en PHP

6xavier6

c noter merci



Cette discussion est classée dans : php, requete, echo, row, result


Répondre à ce message

Sujets en rapport avec ce message

php et requete sql [ par ddyefre ] bonjour,un p'tit probleme... après l'execution de la requête ci dessous je voudrais recuperer tous les champs de la requête, c'est à dire nom et preno HELP sur Mysql [ par jbcaiz ] j'ai un problem avec mon code php. J'ai dévellopé ce code en local avec easyPhp cela fonctionné maintenant sur mon hebergeur web il me marque les erre Probléme de CSS [ par bonobos ] Bonjour,J'aimerais que les lignes de mon tableau changent de couleurau passage de la souris. J'essaie d'inclure dans mon TD la ligne : onMous passage parametres php [ par Puec ] Bonjour, Je débute en php, et je rencontre un problème.J'ai un formulaire qui contient 2 listes déroulantes contenant dont chacun des items provient d Petit probléme sur variable... [ par bonobos ] Bonjour,Je voudrais inserer un lien qui appelerait ma page "search.php"à partir de la variable ==>'.$row['commune'].', je pense qu'il doit manquer aut requete SELECT sous php [ par Maitre_Gonzo ] Bonjour tout le mondeJ'essaye actuellement de mettre en place un systeme de renvoi de mot de passe via email et pour cela j'ai créer une page de test ajout de colonne en plus d'une fonction mysql_fetch_array en php [ par kappablanca ] Bonjour, je suis actuellement en train de passer mon site internet en php étant donné qu'il faut y mettre à jour des tableau tous les jours.Bon je vou Menu déroulant avec récupération des données via mysql --> PB [ par cougar5 ] Bonjour à tous,Je suis un débutant en code php. (et nouveau également sur ce site)Il m'a fallu la journée pour créer 2 pages PHP. (Merci internet et l Bug affichage résultat requête mysql [ par wynelle ] Bonjour,Je vais essayer d'être clair sur ma demande... sachant que je suis bien énervé ... je galère depuis 2 heures pour trouver la faille!OK, j'ai u probleme de debutant avec php et Mysql [ par DraaFil ] Bonjour èa tous, je ne sais pas pkoi mais mon code n'afiche rien, le voici:Premiers pas en PHP  $host = "localhost";


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,022 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales