[PHP/MYSQL] Creer une base de donnés MYSQL en php , sans php my admin?

Creer une base de donnés MYSQL en php , sans php my admin? [PHP/MYSQL] - PHP - Programmation

Marsh Posté le 19-04-2003 à 18:07:29    

Salut!
J'aimerais faire un shoutbox qui pourrait etre télécharger depuis mon site internet et simple d'installation, seulement le probleme est qu'il faut creer une base de donnés mysql et des tables , sans l'aide de PHPMYADMIN, et ca,je sais pas faire.
Tout les tuto que je vois sur le net disent comment faire avec PHPMYADMIN, mais sans...?
Pourtant je pense qu'on peut le faire puisque des CMS comme XOOPS ou NUKE créer une base de donnés et des tables sans que le webmaster ai a ouvrir PHPMYADMIN.
 
Auriez vous un exemple de code pour creer une base de données et une table MYSQL sans l'aide de PHPMYADMIN ?
 
Merci d'avance.
SmilM


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 19-04-2003 à 18:07:29   

Reply

Marsh Posté le 19-04-2003 à 18:16:44    

CREATE TABLE `test` (`1` TINYINT not null AUTO_INCREMENT, `2` TINYTEXT not null, `3` TINYTEXT not null , PRIMARY KEY (`1`), INDEX (`1`), UNIQUE (`1`))
 
avec php et mysql_query

Reply

Marsh Posté le 19-04-2003 à 18:17:21    

C'est du SQL std.
 
avec les commandes pour executer les rêquetes (mysql.query() etc...)
 
tu passes des ordres SQL
 
$sql="create table TOTO (id int not null auto_increment, toto varchar(50), primary key(id))";
 
genre de truc comme ça ;)
 
edit : grillaid


Message édité par AGA le 19-04-2003 à 18:17:52
Reply

Marsh Posté le 19-04-2003 à 18:26:12    

Ok Merci !
Mais pour créer la base de données ?
Une table est bien contenue dans une base de données ? :bounce:


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 19-04-2003 à 18:48:06    

chez les hebergeurs c'est un droit que tu n'as pas.
 

Reply

Marsh Posté le 19-04-2003 à 19:53:23    

essaye de sauvegarder ta BDD sur phpmyadmin et tu regarde le fichier qu'il te crée, tu trouvera surment plein de truc interesant.

Reply

Marsh Posté le 20-04-2003 à 13:44:33    

Pourtant je pense qu'on peut le faire puisque des CMS comme XOOPS ou NUKE créer une base de donnés et des tables sans que le webmaster ai a ouvrir PHPMYADMIN
J'ai moi meme installer XOOPS ,et à l'époque je ne savais pas utiliser PHPMYADMIN...


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 20-04-2003 à 14:12:01    

SmilM a écrit :

Pourtant je pense qu'on peut le faire puisque des CMS comme XOOPS ou NUKE créer une base de donnés et des tables sans que le webmaster ai a ouvrir PHPMYADMIN
J'ai moi meme installer XOOPS ,et à l'époque je ne savais pas utiliser PHPMYADMIN...


 
bien sûr qu'on peut. On peut aussi programmer soi-même un outil de gestion pour mysql. On peut tout en fait...

Reply

Marsh Posté le 20-04-2003 à 14:45:49    

SmilM a écrit :

Ok Merci !
Mais pour créer la base de données ?
Une table est bien contenue dans une base de données ? :bounce:  

Regarde la syntaxe de 'CREATE database....'.
Mais il faut que l'utilisateur qui l'exécute ait les droits.

Reply

Marsh Posté le 20-04-2003 à 18:26:43    

En session telnet, tu peux lancer  
 
mysql -u username
 
puis executer tes scripts de création SQL (filename -s je crois, mais voir l'aide)

Reply

Marsh Posté le 20-04-2003 à 18:26:43   

Reply

Marsh Posté le 25-04-2003 à 12:20:03    

Pffff
Je suis bete , chez free multimania et compagnie ,les base de données est creer a partir du site de hebergeur , on peut juste creer les tables , je me goure pas ?
Donc ce qui faudrait que je fasse , c'est que je demande a l'utilisateur dans un formulaire , son nom d'utilisateur ,son mot de passe , avec le nom de sa base de données c'est ca ?
Et je reutilise ca pour me connecter a la base de données
 
Je suis bon là ?
Par contre , comment on affecte une variable ici :
 
$db = mysql_connect('localhost', 'root', '';);  // connexion à la base  
 
suffit que je vire les quotes et ca devient une variable ?
Donc je peut mettre une variable php du genre:
 
$db = mysql_connect($nomdelabase, $user, $motdepasse);
 
Je suis bon là ?
 
Merci d'avance


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 12:55:50    

Bon voilà ou j'en suis :
 
J'ai creer un fichier dans un formulaire : demande.php( qui contient la demande du passe , de l'user , et de la base)
Qui pointe vers le fichier add.php lors de l'envoi
add.php :
 
<?  
// On commence par vérifier si les champs sont vides  
if(empty($user) OR empty($base))
    {  
    echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>';  
    }  
 
// Aucun champ n'est vide, on peut enregistrer dans la table  
else      
    {  
    $db = mysql_connect($base, $user, $passe);  // connexion à la base  
    mysql_select_db('portfolio',$db);                  // sélection de la base    
     
 
    }  
 print('Acces a la base reussi';);
$sql_query = "CREATE TABLE `basedushout` (`1` TINYINT not null AUTO_INCREMENT, `2` TINYTEXT not null, `3` TINYTEXT not null , PRIMARY KEY (`1`), INDEX (`1`), UNIQUE (`1`))";  
 
 
?>  
Voilà!
Si j'écris root en user , rien en passe ,et localhost pour la base , le résultat est une page blanche.Donc ca marche
Si je mets n'importe quoi dans le forumulaire,  il detecte bien les erreurs.
 
Mais je n'ai pas trouver comment creer la table ...
C'est quoi le code exact ?Apparament ce que j'ai mis ne provoque pas d'erreurs,  mais ca ne marche pas non plus,  pourtant la base de donnés "portfolio" existe bien.
(je test en local sur easyphp)
merci d'avance


Message édité par smilm le 25-04-2003 à 13:12:46

---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 13:11:35    

Je crois pas qu'une colonne puisse avoir pour nom un chiffre :heink:  
 
Sinon, une colonne en primary key est automatiquement unique et indexée, donc tes 2 dernières contraintes sont inutiles.

Reply

Marsh Posté le 25-04-2003 à 13:13:57    

mrBebert a écrit :

Je crois pas qu'une colonne puisse avoir pour nom un chiffre :heink:  
 
Sinon, une colonne en primary key est automatiquement unique et indexée, donc tes 2 dernières contraintes sont inutiles.


 
Ha ?
Bon je vais essayer autre chose , enfin le code ,c'est celui de JR.
 
edit :
voilà avec ca :
 
<?  
// On commence par vérifier si les champs sont vides  
if(empty($user) OR empty($base))
    {  
    echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>';  
    }  
 
// Aucun champ n'est vide, on peut enregistrer dans la table  
else      
    {  
    $db = mysql_connect($base, $user, $passe);  // connexion à la base  
    mysql_select_db('portfolio',$db);                  // sélection de la base    
     
 
    }  
 print('Acces a la base reussi';);
$sql_query = "CREATE TABLE `shoutboxbordel` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
`nom` VARCHAR(255) NOT NULL,  
`message` VARCHAR(255) NOT NULL
)";  
 
 
?>  
 
 
Meme résultat => Pas d'erreur , mais pas de table crée


Message édité par smilm le 25-04-2003 à 13:57:16

---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 13:27:52    

SmilM a écrit :


 
Meme résultat => Pas d'erreur , mais pas de base crée


 
là, il ne te crée pas de base , c'est normal puisque tu te connectes à la pbase portfolio ;)
 
la table ne se crée pas parce que tu n'execute pas la requête sql... tu te contentes de créer une variable php qui contient la requête ;) cf doc php pour les fonctions mysql (http://fr.php.net/manual/en/ref.mysql.php)

Reply

Marsh Posté le 25-04-2003 à 13:56:49    

Ha oui , en fait je mets la requete pour creer le table dans la variable sql_query.
 
Mais comment je l'execute cette requete aprés ?
 


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 16:16:50    

SmilM a écrit :

Ha oui , en fait je mets la requete pour creer le table dans la variable sql_query.
 
Mais comment je l'execute cette requete aprés ?

:ouch:  
Evidemment, sans exécuter la requête, ca marche lmoins bien:
mysql_query("la requete" );
 
Tu peux tester le résultat :
if (! mysql_query("bla bla" )) {
  echo "Y a une erreur";
}

Reply

Marsh Posté le 25-04-2003 à 18:18:15    

pfff
Je capte pas...
 
je fais ca :
$sql_query = "CREATE TABLE `shoutboxbordel` (  
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
`nom` VARCHAR(255) NOT NULL,  
`message` VARCHAR(255) NOT NULL  
)";  
 et aprés je fais quoi ?
mysql_query("sql_query" );   ??
 
Et puis pour le test ??
 
Si ma requete "blabla" // ???? BLABLA ??
alors j'écris ...


Message édité par smilm le 25-04-2003 à 18:19:32

---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 18:28:31    

mysql_query exécute la requête, et te renvoie le résultat de cette requête (que tu peux parcourir s'il s'agit d'un SELECT).
 
Le "bla bla", c'est juste que j'avais pas envie de recopier toute ta requête :D  
 
Un petit détour par un tutoriel ou par la doc sur www.php.net me paraitrait utile [:figti]

Reply

Marsh Posté le 25-04-2003 à 19:06:21    

Je fais ca :
 
<?  
// On commence par vérifier si les champs sont vides  
if(empty($user) OR empty($base))
    {  
    echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>';  
    }  
 
// Aucun champ n'est vide, on peut enregistrer dans la table  
else      
    {  
    $db = mysql_connect($base, $user, $passe);  // connexion à la base  
    mysql_select_db('portfolio',$db);                  // sélection de la base    
     
 
    }  
 print('Acces a la base reussi';);
$sql_query = "CREATE TABLE `shoutboxbordel` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
`nom` VARCHAR(255) NOT NULL,  
`message` VARCHAR(255) NOT NULL
)";  
mysql_query($sql_query);
}
 
ca marche pas
 
mysql_query(sql_query);
 
non plus
 
mysql_query("CREATE TABLE `shoutboxbordel` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
`nom` VARCHAR(255) NOT NULL,  
`message` VARCHAR(255) NOT NULL
)"; );
 
non plus
Je pourrais avoir le code exact svp ?
Dans la doc , je trouve pas, la réponse doit y etre , mais ya tellement de chose!
 
 
?>


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 19:45:28    

Déja, vérifie la requête "à la main". Ca ne sert à rien de faire un script qui exécute une requête si celle ci n'est pas correcte (le "PRIMARY KEY" ne va pas là).
Et vérifie le résultat de mysql_query.

Reply

Marsh Posté le 25-04-2003 à 20:29:02    

bon j'arrive a rien
 
Ca fait une journée entiere que je galere sur ca , ca me saoule..
 
 
<?  
// On commence par vérifier si les champs sont vides  
if(empty($user) OR empty($base))
    {  
    echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>';  
    }  
 
// Aucun champ n'est vide, on peut enregistrer dans la table  
else      
    {  
    $db = mysql_connect($base, $user, $passe);  // connexion à la base  
    mysql_select_db('portfolio',$db);                  // sélection de la base    
     
 
   
 print('Acces a la base reussi';);
$sql_query = "CREATE TABLE putaing (
  id int(11) NOT NULL auto_increment,
  nom varchar(255) NOT NULL default '',
  message varchar(255) NOT NULL default '',
  date varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
";  
mysql_query("sql_query" );
 
if (! mysql_query("CREATE TABLE `putaing` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
`nom` VARCHAR(255) NOT NULL,  
`message` VARCHAR(255) NOT NULL" )) {  
 echo "Y a une erreur";  
}
 
}
 
 
?>  
 
Mrbebert t'es le seul a bien vouloir répondre , et je t'en remercie cependant ,j'ai vraiment du mal avec tes explications...je m'embrouille ca me saoule
 
 
Tu n'aurais pas un code qui montre comment on crée une table , je travaillerai a partir de cette exemple , parce que la doc que j'ai trouvé sur le net est nul et que j'ai rien trouvé dans les google groups sur comment crée une table,  comme je veux le faire.


Message édité par smilm le 25-04-2003 à 20:31:46

---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 20:36:32    

C'est censé faire quoi ca : mysql_query("sql_query" ); :heink:  
 
Pourquoi tu fais 2 appels à mysql_query() ??
 
Et vérifie tes appels de fonction. Quand tu fais un mysql_connect() ou un mysql_select_db() (ou n'importe quel autre appel de fonction  liée à la base), tu es censé vérifier que ca s'est bien passé (y a la doc sur www.php.net) [:proy]
 
Pour créer une table, c'est juste exécuter une requête. Pour le moment, le problème vient plutot du PHP.


Message édité par mrbebert le 25-04-2003 à 20:37:56
Reply

Marsh Posté le 25-04-2003 à 20:46:30    

Ca pourrait donner un truc dans le genre :

Code :
  1. <? 
  2. // On commence par vérifier si les champs sont vides   
  3. if(empty($user) OR empty($base))
  4.    { 
  5.    echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>'; 
  6.    } 
  7. // Aucun champ n'est vide, on peut enregistrer dans la table   
  8. else     
  9.    { 
  10.    $db = mysql_connect($base, $user, $passe);  // connexion à la base   
  11.    if (! $db) {
  12.       echo "Erreur connexion au serveur";
  13.       exit;
  14.    }
  15.    // sélection de la base
  16.    if (! mysql_select_db('portfolio',$db)) {
  17.       echo "Erreur sélection de la base";
  18.       exit;
  19.    }
  20.    //construction de la requête
  21.    $sql_query = "CREATE TABLE putaing (
  22.      id int(11) NOT NULL auto_increment,
  23.      nom varchar(255) NOT NULL default '',
  24.      message varchar(255) NOT NULL default '',
  25.      date varchar(255) NOT NULL default '',
  26.      PRIMARY KEY  (id)
  27.     ) TYPE=MyISAM;
  28.    ";
  29.    //exécution de la requête
  30.    if (! mysql_query($sql_query)) {
  31.       echo "Erreur : " . mysql_error();
  32.       exit;
  33.    }
  34. }
  35. ?>


Message édité par mrbebert le 25-04-2003 à 20:48:16
Reply

Marsh Posté le 25-04-2003 à 21:09:57    

heu......
Ya un probleme
déjà ton code ne marche pas, mais c'est pas le plus important:  
 
Dans mon formulaire, je demande le nom de la base de données , la j'ai mis localhost, mais dans mon localhost , j'ai plusieurs bd , dont la base portfolio...
 
J'aimerais concevoir un shoutbox pour le mettre en ligne comme dit dans le 1er post , et pas pour etre utiliser sur easyphp...
 
Alors je sais pas si c'est spécial avec easyphp mais là je m'embrouille un peu.
Je demande la base de données et je donne localhost
enfin bref , je veux en venir a ca :
 
  if (! mysql_select_db('portfolio',$db)) {  
     echo "Erreur sélection de la base";  
     exit;  
  }  
 
 
 
Là on fait intervenir une base de données nommé portfolio mais elle n'existe pas chez l'utilisateur...mais juste chez moi !
Il faudrait que je remplace le <'portfolio'> (avec '';) par <$base> (sans les '';) ou je suis totalement ailleurs ?
Parce que la je crois que j'essaye peut etre de faire quelque chose d'un peu compliquer,  enfin je sais pas...
J'attend ta réponse pour continuer.
 
 
A part ca...j'ai mal compris le code que tu m'as donné avec tout ces '!' partout, le '!' ca veut dire not equal non ?


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 21:12:47    

Déjà localhost n'est pas une bdd mais le serveur MySQL
 
Ensuite, si tu veux connaître toutes les commandes, tu chopes PhpMyAdmin, et tu lui fais faire toutes les manips qui permettent la création d'une bdd et d'une table, en notant bien le code que PhpMyAdmin t'indique.
 
Et voilà, normalement no problemo !
 
 
UPDATE :
 
le ! veut dire différent de true => false :d


Message édité par HORNY-Grandcornu le 25-04-2003 à 21:15:55
Reply

Marsh Posté le 25-04-2003 à 21:29:02    

'portfolio', c'est juste une chaine de caractère "en dur". Tu peux remplacer par une variable, ca change rien. La seule chose importante, c'est qu'il y ait une chaine de caractères dans le premier paramètre de mysql_select_db().
 
"!", c'est le "NOT". Généralement, les fonctions renvoient True Quand c'est bon et FALSE en cas d'erreur.

Reply

Marsh Posté le 25-04-2003 à 21:40:10    

SmilM a écrit :

bon j'arrive a rien
 
Ca fait une journée entiere que je galere sur ca , ca me saoule..
 
Mrbebert t'es le seul a bien vouloir répondre , et je t'en remercie cependant ,j'ai vraiment du mal avec tes explications...je m'embrouille ca me saoule
 
 
Tu n'aurais pas un code qui montre comment on crée une table , je travaillerai a partir de cette exemple , parce que la doc que j'ai trouvé sur le net est nul et que j'ai rien trouvé dans les google groups sur comment crée une table,  comme je veux le faire.


 
 
pauvre piti  :( ... alors on va t'aider  ;)  
 
et on corrige toutes les bourdes  :)  
 
essentiel :ne pas confondre connexion au serveur mysql et sélection de la base de données  ;)  
 
Il faut que tu recuperes le password de l'utilisateur Mysql aussi via ton formulaire
 
Pour établir la connexion au serveur MySQL il te faut :
- le nom du serveur. En général "localhost";
- l'utilisateur
- le mot de passe utilisateur.
 
donc correction sur ton code précedent ... le premier paramétre de la fonction mysql_connect() -ou mysql_pconnect() - est l'@ du serveur et non pas le nom de la base  :non:
 
Deuxième étape : tu sélectionnes ta base de données.
- C'est la que tu te sers de la variable transmis par le formulaire ( $base ).
 
Etape 3 : tu formules ta requête SQL et tu stockes dans un variable ( $sql_query )
- j'ai verifié la requête (ok)
 
Etape 4 : tu éxécutes ta requête.....
 

Code :
  1. <? 
  2.  
  3.   // on declare les variables  :
  4.   define(DB_HOST, "localhost" );
  5.   define(DB_USER, $user);
  6.   define(DB_PASS, $pass);
  7.   define(DB_BASE, $base);
  8.  
  9.  
  10.   // On commence par vérifier si les champs sont vides   
  11.   if(empty($user) OR empty($base) OR empty($pass))
  12.       { 
  13.         echo '<font color="red">Attention, Aucun champ ne doit rester vide !! </font>'; 
  14.       } 
  15.  
  16.   // Aucun champ n'est vide, on peut enregistrer dans la table   
  17.   else     
  18.       { 
  19.          // ETAPE 1 - CONNEXION AU SERVEUR MYSQL   
  20.         $conn = mysql_pconnect(DB_HOST, DB_USER, DB_PASS) or die("connexion au serveur MySQL impossible" );  // connexion à la base   
  21.      
  22.         // ETAPE 2 - SELECTION DE LA BDD
  23.         mysql_select_db(DB_BASE,$conn) or die("Sélection de la base de données impossible" );   // sélection de la base     
  24.    
  25.     echo ("Accès a la base réussi" );
  26.    
  27.     // ETAPE 3 - ON ETABLIT LA REQUETE EN SQL
  28.     $sql_query = "CREATE TABLE putaing (
  29.       id int(11) NOT NULL auto_increment,
  30.       nom varchar(255) NOT NULL default '',
  31.       message varchar(255) NOT NULL default '',
  32.       date varchar(255) NOT NULL default '',
  33.       PRIMARY KEY  (id)
  34.     ) TYPE=MyISAM;"; 
  35.    
  36.    
  37.     // ETAPE 4 - EXECUTION DE LA REQUETE SQL
  38.     mysql_query($sql_query) or die("erreur n° " . @mysql_errno() . " : " . @mysql_error()."<br>REQUTE : ".$sql_query);
  39.     echo ("........'tain ca marche enfin" );
  40.    
  41.    
  42.   }
  43.    
  44.   ?>


 
 
 [:spamafote]
 
edit : commentaire de merde  :D & rapide optimisation - testé le script chez moi en local, ca fonctionne


Message édité par simogeo le 25-04-2003 à 21:55:39

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-04-2003 à 22:21:08    

Pour les commandes à utiliser pour créer une base :
 
http://www.phpfrance.com/tutorials/index.php?id=8

Reply

Marsh Posté le 25-04-2003 à 22:24:05    

Merci beaucoup beaucoup !! :love:  
Bon je vais essayer de plus trop vous embeter, demain je vais a Surcouf m'acheter un bookin sur php/mysql (y'en a un mieux que les autres ?) , j'espere que ca va me permettre d'évoluer la dedans parce que ca m'interesse pas mal.
 
bon je test le code...
J'ai relu 3 fois ,j'ai presque compris  :bounce:  
 
Par contre :
OR empty($pass))  
Le pass peut etre vide,  sous easyphp , le pass doit rester vide.(par default en tout cas).
 
Mal compris :  
--Or die ==> si ca marche pas ca fait un print de ce qui suit le die ?
 
--encore ca : "erreur n° " . @mysql_errno() . " : " . @mysql_error()."<br>REQUTE : ".$sql_query
enfin je pense à :
errno? n° de l'erreur ,genre erreur 404  
mysqlerror décrit l'erreur  
le "." pour concatener (regrouper , enfin , je suis plus sur du terme exacte)
$sql_query = il affiche  :"CREATE TABLE putaing (  
     id int(11) NOT NULL auto_increment,  
     nom varchar(255) NOT NULL default '',  
     message varchar(255) NOT NULL default '',  
     date varchar(255) NOT NULL default '',  
     PRIMARY KEY  (id)  
   ) TYPE=MyISAM;";    
 
 
 
Voilà je crois que c'est tout , je test ca et j'édite.
Encore Merci!!


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 22:28:33    

L'erreur renvoyée par mysql_errno() n'a aucun rapport avec les erreurs de navigateurs (404, 403, 500 ...). C'est juste un numéro d'erreur propre à PHP.
mysql_error() est plus pratique, elle affiche un texte d'erreur.
 
La syntaxe :
mysql_query($sql_query) or die("erreur" );
doit être lue sous la forme :
if (! mysql_query($sql_query)) {
  die("Erreur" );
}
 
Si la partie à gauche du OR n'est pas vérifiée, la partie droite est exécutée.
(die(), c'est une fonction qui quitte le script lorsqu'elle est appellée)


Message édité par mrbebert le 25-04-2003 à 22:30:22
Reply

Marsh Posté le 25-04-2003 à 22:30:43    

SmilM a écrit :

--Or die ==> si ca marche pas ca fait un print de ce qui suit le die ?
 
Oui c'est ça
 
--encore ca : "erreur n° " . @mysql_errno() . " : " . @mysql_error()."<br>REQUTE : ".$sql_query
enfin je pense à :
errno? n° de l'erreur ,genre erreur 404  
mysqlerror décrit l'erreur  
 
euh là je sais pas, jamais beaucoup utilisé ces logs d'erreur

Reply

Marsh Posté le 25-04-2003 à 22:32:57    

SmilM a écrit :


 
Par contre :
OR empty($pass))  
Le pass peut etre vide,  sous easyphp , le pass doit rester vide.(par default en tout cas).


 
 :heink:  il est vide par défaut mais spa bien du tout  :non:  
 
 
 

SmilM a écrit :


 
Mal compris :  
--Or die ==> si ca marche pas ca fait un print de ce qui suit le die ?


 
ouaip c'est un alias de la fonction exit.... elle te renvoie un message d'erreur à l'écran et quitte le script. Ca te permet de cibler les erreurs  ;)  
 

SmilM a écrit :


 
--encore ca : "erreur n° " . @mysql_errno() . " : " . @mysql_error()."<br>REQUTE : ".$sql_query
enfin je pense à :
errno? n° de l'erreur ,genre erreur 404  
mysqlerror décrit l'erreur  
le "." pour concatener (regrouper , enfin , je suis plus sur du terme exacte)


 
yep, ca renvoie le numéro et message d'erreur renvoyés par MySQL.
Là encore  c'est très utile pour ne pas perdre de temps a cherccher des erreurs la ou elle ne le sont pas.
 
et le "." c'est l'opérateur de concaténation en PHP, gagné  :)


Message édité par simogeo le 25-04-2003 à 22:34:31

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-04-2003 à 22:37:37    

Merci beaucoup de votre aide
 
Je trouve que c'est plus pratique de lire ca :
mysql_query($sql_query) or die("erreur" );  
Que ca :  
if (! mysql_query($sql_query)) {  
 die("Erreur" );  
}  
 
Enfin perso ca me parait plus clair, aprés c'est sur que pour l'instant je débute et je connais tres peu la sythaxe mais bon ,ca me parle plus avec des OR et sans le if .
Perso j'ai fais du pascal mais ce qui est bizarre la c'est que dans la condition meme , il execute
 
Enfin en algo pascal c'est + jolie =>
Si  tout va bien alors (if ..then)
On execute (instructions ... )
sinon (else)
writeln('Ca marche pas';);
 
Enfin, apparament les 2 possiblités marche,donc aucune différence, a part que l'une est peut etre plus propre que l'autre c'est ca ?
c'est un peu du W3C  :pt1cable:


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 22:40:31    

simogeo a écrit :


 
 :heink:  il est vide par défaut mais spa bien du tout  :non:  


J'ai pas trouver comment on change,quand je regarde dans l'admin d'easyphp, dans parametres, on trouve les parametres par default , mais pas possible de les changer a partir de là apparament.


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 22:44:10    

SmilM a écrit :

Merci beaucoup de votre aide
 
Je trouve que c'est plus pratique de lire ca :
mysql_query($sql_query) or die("erreur" );  
Que ca :  
if (! mysql_query($sql_query)) {  
 die("Erreur" );  
}  
 
 
Enfin, apparement les 2 possiblités marche,donc aucune différence, a part que l'une est peut etre plus propre que l'autre c'est ca ?


 
 :heink:  ben une ligne au lieu de 3 ... moi j'ai vite choisi lequel était le plus propre et le plus lisible.  :D  
 
> mrBebert : L'intérprétation est la même  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-04-2003 à 22:45:56    

SmilM a écrit :


J'ai pas trouver comment on change,quand je regarde dans l'admin d'easyphp, dans parametres, on trouve les parametres par default , mais pas possible de les changer a partir de là apparament.


 
utilises phpmyadmin pour manger les droits utilisateur.
le plus sécurisé c'est de creer un utilisateur spécial ayant des droits uniquement sur la base tu laquelle tu travailles.  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-04-2003 à 22:49:15    

simogeo a écrit :


 
utilises phpmyadmin pour manger les droits utilisateur.
le plus sécurisé c'est de creer un utilisateur spécial ayant des droits uniquement sur la base tu laquelle tu travailles.  ;)  


 
J'ai pas tres bien compris mais c'est pas grave


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-04-2003 à 23:00:10    

simogeo a écrit :


 
 :heink:  ben une ligne au lieu de 3 ... moi j'ai vite choisi lequel était le plus propre et le plus lisible.  :D  
 
> mrBebert : L'intérprétation est la même  [:spamafote]  

C'est ce que je dis :(  
Pour quelqu'un qui connait pas la syntaxe avec le OR, il peut la voir comme un if () comme je l'ai indiqué.
Mais je dis pas qu'il faut pas utiliser le OR, au contraire :)

Reply

Marsh Posté le 25-04-2003 à 23:09:44    

SmilM a écrit :


 
J'ai pas tres bien compris mais c'est pas grave


 
ouaip c'est pas grave ....  :sweat:  
tu as le temps d'aller à la pêche aux infos de ce côté  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed