Climberdav | Bonjour, J'ai un problème avec cette requête :
Code :
- SELECT a.Paire, a.Double_Paire, a.Brelan, a.Suite, a.\"Full\", a.Carre, a.Yam,a.Un, a.Deux,
- a.Trois, a.Quatre, a.Cinq, a.Six, a.Minimum, a.Maximum, a.Difference, a.Sous_Total,
- b.Paire, b.Double_Paire, b.Brelan, b.Suite, b.\"Full\", b.Carre, b.Yam,b.Un, b.Deux,
- b.Trois, b.Quatre, b.Cinq, b.Six, b.Minimum, b.Maximum, b.Difference, b.Sous_Total,
- c.Paire, c.Double_Paire, c.Brelan, c.Suite, c.\"Full\", c.Carre, c.Yam,c.Un, c.Deux,
- c.Trois, c.Quatre, c.Cinq, c.Six, c.Minimum, c.Maximum, c.Difference, c.Sous_Total,
- d.id
- FROM
- descente$ AS a, montee$ AS b, aleatoire$ AS c, parties$ AS d
- WHERE (a.id_partie = d.id
- AND b.id_partie = d.id
- AND c.id_partie = d.id
- AND d.id = $id_partie
- AND a.NomJoueur = '$nom_utilisateur'
- AND b.NomJoueur = '$nom_utilisateur'
- AND c.NomJoueur = '$nom_utilisateur'
- )
|
MSSQL sous PHP : elle fonctionne très bien dans SQL Management mais pas sous PHP.
Elle devrait me retourner un tableau de 1 ligne.
J'ai testé sous MySQL et ça fonctionne très bien (faut juste enlever les '$' pour les tables) et sur une page PHP/MySQL ça fonctionne aussi.
J'ai echappé (\" ) tous ce qui devait l'être.
Mes autres requêtes fonctionnent sur MSSQL, il n'y a que celle-ci qui merdouille.
Quelqu'un aurait une idée?
Voici le code de ma fonction complète :
Code :
- function lire_infos_grille($nom_utilisateur, $id_partie)
- {
- $pdo = PDO2::getInstance();
- $requete = $pdo->prepare("SELECT a.Paire, a.Double_Paire, a.Brelan, a.Suite, a.\"Full\", a.Carre, a.Yam,a.Un, a.Deux,
- a.Trois, a.Quatre, a.Cinq, a.Six, a.Minimum, a.Maximum, a.\"Difference\", a.Sous_Total,
- b.Paire, b.Double_Paire, b.Brelan, b.Suite, b.\"Full\", b.Carre, b.Yam,b.Un, b.Deux,
- b.Trois, b.Quatre, b.Cinq, b.Six, b.Minimum, b.Maximum, b.\"Difference\", b.Sous_Total,
- c.Paire, c.Double_Paire, c.Brelan, c.Suite, c.\"Full\", c.Carre, c.Yam,c.Un, c.Deux,
- c.Trois, c.Quatre, c.Cinq, c.Six, c.Minimum, c.Maximum, c.\"Difference\", c.Sous_Total,
- d.id
- FROM
- descente$ AS a, montee$ AS b, aleatoire$ AS c, parties$ AS d
- WHERE (a.id_partie = d.id
- AND b.id_partie = d.id
- AND c.id_partie = d.id
- AND d.id = $id_partie
- AND a.NomJoueur = '$nom_utilisateur'
- AND b.NomJoueur = '$nom_utilisateur'
- AND c.NomJoueur = '$nom_utilisateur'
- )" );
-
- echo $id_partie;
- //si il n'y as pas d'id_partie on prend la dernière partie comme point de départ
- if(false == $id_partie)
- {
- $requetePartie = $pdo->prepare("SELECT id, convert(varchar, date_partie, 101) AS date_partie_fr
- FROM(select id, date_partie, ROW_NUMBER() OVER(ORDER BY date_partie DESC, id DESC) [rowNumber]
- FROM parties$ WHERE Participants= '$Participants'
- )q WHERE rowNumber BETWEEN 0 and 1" );
- $requetePartie->execute();
- $resultatPartie = $requetePartie->fetch(PDO::FETCH_BOTH);
- $requetePartie->closeCursor();
- ;
- $id_partie = $resultatPartie[0];
- }
- $requete->bindParam('nom_utilisateur', $nom_utilisateur);
- $requete->bindParam('id_partie', $id_partie);
- $requete->execute();
-
- if($result = $requete->fetch(PDO::FETCH_BOTH))
- {
- $requete->closeCursor();
- return $result;
- };
- return false;
- }
|
Merci de votre aide. |