IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête qui fonctionne à moitié


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 48
    Points : 29
    Points
    29
    Par défaut Requête qui fonctionne à moitié
    Bonsoir à tous, j'ai un soucis avec une requête. Ce code php permet de la génerer et de l'executer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    		data::connect();
    		$sql = "select * from compteur where titre = 'nombre_map'";
    		$req = data::query($sql);
    		$res = mysql_fetch_assoc($req);
    		$numero = $res["nombre_map"] + 1;
    		$nombre_cases = 0;
     
    		if($nombre_joueurs == 4)
    		{
    			$nombre_cases = 7;
    		}
    		else
    		{
    			$nombre_cases = 14;
    		}
     
    			$sql = "CREATE TABLE carte_".$numero." (
    					x INT( 3 ) NULL ,
    					y INT( 3 ) NULL ,
    					usines INT( 10 ) NULL ,
    					habitants INT( 10 ) NULL ,
    					armee INT( 10 ) NULL ,
    					argent INT( 10 ) NULL ,
    					couleur VARCHAR( 10 ) NULL ,
    					id_user INT( 10 ) NULL
    					) ENGINE = MYISAM ;";
    		//$sql .="INSERT INTO compteur (titre, contenu) VALUES ('carte_$numero', 0);"; 
    		$sql .="UPDATE compteur SET contenu = '".$numero."' WHERE titre = 'nombre_carte' AND contenu = ".($numero-1)." AND contenu2 = '' LIMIT 1 ; ";
    		$x = 0;
     
    		while($x<=$nombre_cases)
    		{
    			for($y = 0;$y<=$nombre_cases;$y++)
    			{
    				$sql .= "INSERT INTO amadeus.carte_".$numero." (x, y, usines, habitants, armee, argent, couleur, id_user) VALUES ($x , $y, 0, 0, 0, 0, 'grey', 0);";
    			};
    			$x++;
    		};
    		data::query($sql);
    	}
    data::query($sql); :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public function query($sql)
    	{
    		mysql_query("SET NAMES UTF8");
    		$result = mysql_query($sql);
    		if (!$result)
    			die('Requête invalide: '.mysql_error());
    		return $result;
     
    	}
    Ce que je ne comprend pas c'est que quand je fais un echo de ma requête et que je l'execute dans phpmyadmin elle fonctionne !!!

    J'attends votre aide avec impatience ^^

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    On est dans le forum "Langage SQL", pourquoi nous montrer du PHP ?

    Quelle requête pose problème ? Est-ce qu'il y a une erreur ?
    Il faudrait nous montrer à quoi ressemble la requête qui est réellement envoyée à MySQL, et pas comment elle est construite (avec variables).

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    la requête ressemble à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE carte_2 ( x INT( 3 ) NULL , y INT( 3 ) NULL , usines INT( 10 ) NULL , habitants INT( 10 ) NULL , armee INT( 10 ) NULL , argent INT( 10 ) NULL , couleur VARCHAR( 10 ) NULL , nom VARCHAR( 20 ) NULL , id_user INT( 10 ) NULL ) ENGINE = MYISAM ;INSERT INTO compteur (titre, contenu) VALUES ('carte_2', 0);UPDATE compteur SET contenu = '2' WHERE titre = 'nombre_carte' AND contenu = 1 AND contenu2 = '' LIMIT 1 ; INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('0' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('1' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('2' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('3' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('4' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('5' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('6' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '0', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '1', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '2', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '3', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '4', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '5', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '6', '0', '0', '0', '0', "grey","Ville neutre" , 0);INSERT INTO amadeus.carte_2 (x, y, usines, habitants, armee, argent, couleur, nom, id_user) VALUES ('7' , '7', '0', '0', '0', '0', "grey","Ville neutre" , 0);
    une fois générée.
    Le problème est qu'elle fonctionne dans phpmyadmin mais pas quen j'execute la page php (d'ou le php)

  4. #4
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Vous utilisez mysql_query() pour exécuter les requêtes.
    mysql_query() ne peut prendre qu'une seule requête en argument (cf. doc PHP).

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Diable, il faut que je fasse un query différent pour chaque requête alors.

    Il n'existe pas de fonctions qui en prenne plusieurs en paramètres?

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pas que je sache. On peut toujours faire des choses plus ou moins évoluées en utilisant PDO ou mysqli, mais au final, on exécute toujours une seule requête sql à la fois.

    Ce que tu peux faire, vu que ce sont uniquement des requêtes d'insertion, c'est les stocker dans un tableau puis parcourir le tableau pour exécuter toutes les requêtes...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/08/2009, 15h40
  2. [MySQL] Requête qui fonctionne à moitié
    Par TomDelonge dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/03/2009, 16h24
  3. Requête qui fonctionne sous Access mais pas JDBC
    Par loic911 dans le forum JDBC
    Réponses: 1
    Dernier message: 12/09/2008, 16h46
  4. Réponses: 1
    Dernier message: 03/08/2007, 10h09
  5. Requête qui fonctionne 1 fois sur 100
    Par nicotine002 dans le forum Langage
    Réponses: 1
    Dernier message: 05/08/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo