Récuperation SQL

Fermé
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013 - 6 juin 2013 à 15:06
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 6 juin 2013 à 16:17
Bonjour à tous,
j'ai un petit problème concernant mon code :

Je veux récupérer plusieurs champs dans ma BDD mais j'ai une erreur dans ma requête:
J'exporte mes données dans un Excel mais il y'a une colone que je n'arrive pas à récupérer:


<?php


$req=$pdo->prepare("SELECT nom_uti ,prenom_uti ,birth_uti , titre_en,date_in as DATE_IN,date_ou,mensuel_mouvement ,code_contrat ,start_contrat,end_contrat ,expiration_contrat ,titre_bateau ,num_certificat

FROM utilisateur,mouvement,boat,contract,function,contract_module


where utilisateur.id_uti=mouvement.id_uti
and mouvement.id_contrat=contract.id_contrat
and mouvement.id_contrat=boat.id_contrat
and mouvement.id_bateau=boat.id_bateau and mouvement.fonction_mouvement=function.id_function
and num_certificat not like 'L%'");

Mon erreur se situe au niveau du not like je 'narrive pas à trouver la syntaxe correcte tandis que en SQL ma requête marche.

merci de vos réponse


A voir également:

13 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 15:14
Salut !

Tu es sur que l'erreur vient de la ?

Essaye ca :
$req=$pdo->prepare(" ta requete");
$req->execute() or die(print_r($req->errorInfo()));
Et si t'as une erreur il te l'affichera :)

0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 15:20
Salut Jérémy

Oui Oui c'est bien à la ligne là,
mais je voudrais savoir en gros quel est la syntaxe en PHP
d'un NOT LIKE
car la syntaxe SQL marche parfaitement bien sur PhpMyAdmin

Cordialement
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 15:23
Quel est le type de num_certificat ? Si c'est un int, tu ne peux pas utilisé le LIKE. Par contre si c'est un varchar, ca devrait allé.
Tu cherches bien les lignes où num_certificat ne commence pas par L ?
0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 15:24
C'est exactement ça j'ai deux type de num_certificat :

ex: L164654 et un autre type 138466

et donc je veux récupérer les lignes qui n'ont pas le L
0

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

Posez votre question
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 15:30
Donc c'est un varchar ?

Mmh tu n'as pas préciser la table où est num_certificat,
where utilisateur.id_uti=mouvement.id_uti
and mouvement.id_contrat=contract.id_contrat
and mouvement.id_contrat=boat.id_contrat
and mouvement.id_bateau=boat.id_bateau
and mouvement.fonction_mouvement=function.id_function
and num_certificat not like 'L%'");



0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 15:37
Même pas c'est un type text

et si, la table de num_certificat est contract_module
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 15:46
Bah essaye avec contract_module.num_certificat not like 'L%'

Sinon tu as mis le or die() ?
Tu as eu un message ?


0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 15:52
Alors j'ai essayer avec ta méthode,

http://puu.sh/39BpX.png

Ci-dessus un lien de l'erreur que j'ai eu avec ta méthode

http://puu.sh/39BsW.png

Et la l'erreur avec le code que j'avais poster =(
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 16:00
Il faut que tu mette bien les nom de table devant chaque nom de colonne quand tu fais des requetes sur plusieurs table.
Car là tu le fais dans le where, mais pas dans le select.

Et renvois ta requete aussi (modifier) :)
0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 16:04
$req=$pdo->prepare("SELECT nom_uti ,prenom_uti ,birth_uti , titre_en,date_in as DATE_IN,date_ou,mensuel_mouvement ,code_contrat ,start_contrat,end_contrat ,expiration_contrat ,titre_bateau ,num_certificat

FROM utilisateur,mouvement,boat,contract,function,contract_module


where utilisateur.id_uti=mouvement.id_uti
and mouvement.id_contrat=contract.id_contrat
and mouvement.id_contrat=boat.id_contrat
and mouvement.id_bateau=boat.id_bateau and mouvement.fonction_mouvement=function.id_function
and num_certificat not like 'L%'");



Ma requête

La tienne


$req=$pdo->prepare("SELECT nom_uti ,prenom_uti ,birth_uti , titre_en,date_in as DATE_IN,date_ou,mensuel_mouvement ,code_contrat ,start_contrat,end_contrat ,expiration_contrat ,titre_bateau ,num_certificat

FROM utilisateur,mouvement,boat,contract,function,contract_module


where utilisateur.id_uti=mouvement.id_uti
and mouvement.id_contrat=contract.id_contrat
and mouvement.id_contrat=boat.id_contrat
and mouvement.id_bateau=boat.id_bateau and mouvement.fonction_mouvement=function.id_function
and contract_module.num_certificat not like 'L%'");
0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 16:05
Mais le pire c'est que si je n'ajoute pas cette ligne tout mon export sur Excel marche
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 16:12
Ok donc c'est vraiment à cette ligne la ...

Bah met aussi les noms de table dans le select, si tu veuxpas te faire chier tu as cette syntaxe :

select p.nom, p.prenom, v.nom
from personne p, ville v
where p.ville = v.nom


0
Palermo_57 Messages postés 11 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 14 juin 2013
6 juin 2013 à 16:15
Ok d'accord
Merci de tes réponses je vais test alors =)
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 juin 2013 à 16:17
Oublie pas le or die(), et si t'as une erreur dis la moi :)
0