Probleme lors de la creation de table

Sabetodo Messages postés 127 Statut Membre -  
Sabetodo Messages postés 127 Statut Membre -
Bonjour,

salut les gars, j'ai fait un petit script qui permet se connecter a un serveur, afficher le nom d'user, la date et l'heure courant du serveur. tout marche bien, sauf lors de la creation de la table. Ce script sera execute depuis la console unix.
Qnn pourait m'aider?
Le voici:
#!/opt/lampp/bin/php
<?php 
        

function my_connexion($argc,$argv)
 {
   if($argc < 7)
    {
       echo "Bad parameters";
    }
     else
      {
	  if($argc==7)
	   {
	     
                $login    =  $argv[4];
 		$serveur  =  $argv[2];
                $pwd      =  $argv[6];

                if($serveur=='localhost')
                 {

   	               if(((strcmp($argv[1],'-s')==0) && (strcmp($argv[3],'-l')==0) && (strcmp($argv[5],'-p')==0)) || 
   	                  ((strcmp($argv[3],'-p')==0) && (strcmp($argv[5],'-l')==0)))
      		   	    {

                                     //connection au serveur     			 
               		 	      $link   = mysql_connect($serveur,$login,$pwd) or die('connexion problem'.mysql_error());
               		 	     //affichage de la date et l'heure au format jour-mois-anne
                                      $date   = date("d-m-y");
                                      $heure  = date("H:i:s");

				      if($link)
					{
					     echo $login." vous etes connecte\nNous sommes le $date et il est $heure";
					     
					     $name_base = mysql_select_db('$login',$link);	
					      if($name_base==TRUE)				      
					      {
					      
					     CREATE TABLE lapincretin (id INT not null AUTO_INCREMENT, nom VARCHAR(30) not null,
					     prenom VARCHAR(40) not null, ne le DATE not null, PRIMARY KEY(id))
					      
					     mort DATE);
					     
					     }
					     else
					      {
					         echo "erreur lors de la selection de la base";
					      }

					}
					else
					  {
  					       echo "Connexion problem\n";
					  }
				      
				      mysql_close();
                             }
		}
                else
                       {
                           echo "Connexion problem\n";
                       }
                       
             }
             else
               {
                  echo "Bad parameters";
               }
         
     }


}

      my_connexion($argc,$argv); 
   
?>


Voici ce qu'il m'affiche sur la console:
Parse error: syntax error, unexpected T_STRING in /opt/lampp/htdocs/www/jour_04/my_create_table.php on line 41
A voir également:

8 réponses

Kentin76250 Messages postés 241 Statut Membre 5
 
c'est quoi les 3 lignes devant et derriere la ligne 41
0
le père
 
Bonjour

Je ne sais pas si c'est là la ligne 41, mais tu utilises une requête mysql comme une instruction PHP !
  {					      
		     CREATE TABLE lapincretin (id INT not null AUTO_INCREMENT, nom VARCHAR(30) not null,
		     prenom VARCHAR(40) not null, ne le DATE not null, PRIMARY KEY(id))				      
					     mort DATE);			     
					     }


Il faudrait en faire une chaîne, et appeler mysql_query avec
Et si tu ne sais pas comment faire ça, il faudrait commencer par le commencement, c'est à dire apprendre le langage avant de t'en servir.
0
Sabetodo Messages postés 127 Statut Membre 3
 
Que veux tu dire par la:"il faudrait en faire une chaine"? C'est a dire recuperer le resultat de la requete dans une variable comme ceci: $requete = CREATE TABLE lapincretin (id INT not null AUTO_INCREMENT, nom VARCHAR(30) not null, prenom VARCHAR(40) not null, ne le DATE not null, PRIMARY KEY(id)); ?
Si c'est cela, je l'avais deja fait et cela n'a pas marche.

"Celui qui dit je ne sais pas n'a pas tort, celui qui dit je sais n'a pas tort non plus. A tort celui qui dit je sais, alors qu'il ne sait rien de tout."
0
le père
 
Une chaîne ne s'écrit pas comme ça en PHP
Applique la 2ème partie de mon conseil : commence par apprendre les bases avant de te lancer dans un projet.
0
Sabetodo Messages postés 127 Statut Membre 3
 
hei c'est bon. te fous pas de ma geuelle. On est tous en train d'apprendre non. Sinon pourquoi t'es la?
C'etait un truc si simple. Je suis pas encore trop lance en mysql c'est tout.
Il fallait que je fasse un truc du genre:
$requete =" CREATE TABLE lapincretin (id INT not null AUTO_INCREMENT, nom VARCHAR(30) not null, prenom VARCHAR(40) not null, ne le DATE not null, PRIMARY KEY(id))"; ?

mysql_query($requete) or die(mysql_error());
satisfait?
0

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

Posez votre question
le père
 
J'essaye de te répondre mais CCM n'a pas l'air de vouloir. Et si je re-poste le même message, il me dit qu'il est déjà posté. Bizarre...
0
le père
 
J'ai re-posté après le 8 mais ça ne passe pas non plus ???
0
le père
 
où sont passés les messages 6, 7 et 9 ? mystère.... Je remets la réponse :

Je ne me moque pas de toi, je me permets de te donner un conseil parce que je crois qu'il est bon et que tu en as besoin. Tu n'es pas obligé de le suivre.
Mais tu risques de ne rien apprendre, ou pire, de croire que tu apprends parce que tu as réussi à faire marcher quelque chose alors que ce n'était qu'un cas particulier. Et tu reviendras poser des questions ici alors que la réponse est dans l'apprentissage du langage.
Tu devrais aussi étudier un peu le mysql, tu verrais que pour utiliser un nom de champ avec un espace (comme ne le), il faut l'entourer d'accents graves : `ne le`. Mais le plus simple est encore d'éviter les espaces (et autres caractères accentués ou spéciaux, et les mots réservés...) dans les noms de champ ou de table
satisfait? Mon but c'est que toi tu le sois.
0
Sabetodo Messages postés 127 Statut Membre 3
 
c'est cool. T'as raison. C'est qu'il y a trop de pression, ce qui fait que j'ai pas assez de temps quoi. je pense que je vais suivre ton conseil et je prendrai mon temps et me lancer la dessus. Merci quand même.
"Celui qui dit je ne sais pas n'a pas tort, celui qui dit je sais n'a pas tort non plus. A tort celui qui dit je sais, alors qu'il ne sait rien de tout."
0