Rechercher : dans
Par :

[php/SQL] Bonne requête qui ne fonctionne pas

Dernière réponse le 25 sep 2006 à 15:13:49 Rémy, le 25 sep 2006 à 09:19:26 
 Signaler ce message aux modérateurs

Bonjour,

Je ne comprends pas ce qui m'arrive...

j'ai un requête relativement classique :

CREATE TABLE Tempo (
TypeMaj char(1) NOT NULL,
RefPartie1Old char(2) NULL,
RefPartie2Old char(1) NULL,
RefPartie3Old char(4) NULL,
RefPartie4Old char(1) NULL,
RefPartie1New char(2) NULL,
RefPartie2New char(1) NULL,
RefPartie3New char(4) NULL,
RefPartie4New char(1) NULL,
Type smallint NULL,
Marque smallint NULL,
Modele varchar(30) NULL,
NumSerie varchar(30) NULL,
Annee smallint NULL,
DateAchat date NULL,
Commercial varchar(2) NULL,
ClientAchat varchar(30) NULL,
Ville varchar(20) NULL,
RC float NULL,
VR float NULL,
REO float NULL,
PrixPieces float NULL,
PrixStrict float NULL,
PrixRevise float NULL,
PrixGarantie float NULL,
PrixMarchand float NULL,
Vendu int NOT NULL
);

LOAD DATA LOCAL INFILE 'monfichier.txt' INTO TABLE Tempo;


Lorsque je l'éxécute directement dans MySQL, elle fonctionne très bien.

Mais lorque je la lance via una page en php, ça ne fonctionne pas... Voici mon code php :

//connect
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('xxx',$db) or die('Erreur de selection '.mysql_error());

mysql_query("CREATE TABLE Tempo (
TypeMaj char(1) NOT NULL,
RefPartie1Old char(2) NULL,
RefPartie2Old char(1) NULL,
RefPartie3Old char(4) NULL,
RefPartie4Old char(1) NULL,
RefPartie1New char(2) NULL,
RefPartie2New char(1) NULL,
RefPartie3New char(4) NULL,
RefPartie4New char(1) NULL,
Type smallint NULL,
Marque smallint NULL,
Modele varchar(30) NULL,
NumSerie varchar(30) NULL,
Annee smallint NULL,
DateAchat date NULL,
Commercial varchar(2) NULL,
ClientAchat varchar(30) NULL,
Ville varchar(20) NULL,
RC float NULL,
VR float NULL,
REO float NULL,
PrixPieces float NULL,
PrixStrict float NULL,
PrixRevise float NULL,
PrixGarantie float NULL,
PrixMarchand float NULL,
Vendu int NOT NULL
);

LOAD DATA LOCAL INFILE 'monfichier.txt' INTO TABLE Tempo;");


Quelqu'un saurait-il me dire pourquoi ??

Merci

Meilleures réponses pour « [php/SQL] Bonne requête qui ne fonctionne pas » dans :
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

asd, le 25 sep 2006 à 09:47:51

C quoi le message d'erreur ?

Répondre à asd

2

Rémy, le 25 sep 2006 à 09:56:39

Il n'y a pas de message d'erreur mais ma table 'Tempo' n'est pas créée. Pourtant, avec une éxecution directe dans MySQL, elle est créée... ;-?

Répondre à Rémy

3

Ohm-WorK, le 25 sep 2006 à 13:01:16

Salut

As tu vraiment besoin de créer ta table à chaque affichage de ta page ??

Sinon, fais ca pour avoir le message d'erreur :

$sql = "CREATE TABLE Tempo (
TypeMaj char(1) NOT NULL,
RefPartie1Old char(2) NULL,
RefPartie2Old char(1) NULL,
RefPartie3Old char(4) NULL,
RefPartie4Old char(1) NULL,
RefPartie1New char(2) NULL,
RefPartie2New char(1) NULL,
RefPartie3New char(4) NULL,
RefPartie4New char(1) NULL,
Type smallint NULL,
Marque smallint NULL,
Modele varchar(30) NULL,
NumSerie varchar(30) NULL,
Annee smallint NULL,
DateAchat date NULL,
Commercial varchar(2) NULL,
ClientAchat varchar(30) NULL,
Ville varchar(20) NULL,
RC float NULL,
VR float NULL,
REO float NULL,
PrixPieces float NULL,
PrixStrict float NULL,
PrixRevise float NULL,
PrixGarantie float NULL,
PrixMarchand float NULL,
Vendu int NOT NULL
)";

$req = mysql_query($sql) or die (mysql_error());


Tchusss La vie est une maladie mortelle, sexuellement transmissible (Woody Allen)

Répondre à Ohm-WorK

4

Rémy, le 25 sep 2006 à 13:54:56

Ton code FONCTIONNE !!

Puis, j'ai fait une deuxième requête :

$sql="LOAD DATA LOCAL INFILE 'monfichier.txt' INTO TABLE Tempo;";

$req = mysql_query($sql) or die (mysql_error()); 


et ça marche alors pourquoi ça ne marchait pas avant ? mystère et boule de gomme...

Répondre à Rémy

5

 Ohm-WorK, le 25 sep 2006 à 15:13:49

:-)

Tchussss La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK