[MySQL] Pourrait on m expliquer........

Pourrait on m expliquer........ [MySQL] - PHP - Programmation

Marsh Posté le 26-07-2002 à 10:58:21    

Salut a tous,
voila je suis debutant en ce qui concerne le developpement Web et j aimerais avoir qq renseignements sur MySQl et les moyens les plus efficaces de l utiliser...autant prendre les bonnes habitudes d entree :D
 
J ai deja bosse avec des bases de donnees mais en prog standard (Oracle sous Delphi) mais j avoue que g qq interoogations concernant MySQL et surtout phpmyadmin.
 
Deja premierement qqun pourrait il m expliquer les differences entre cles primaires,index,unique et texte entier ???
 
Pour ma part je ne connais que les cles prinaires....je comprend bien que de creer des indexs permets une recherche plus rapide dans certains cas.
Mais pour cela si plusieurs index existent n est il pas possible de choisir l index que l on veut utiliser lors d une requete ou c mysql qui s en charge automatiquement ?
 
Donnez moi des conseils pour optimiser ma creation de tables afin que je ne prenne pas la tete en me demandant si c optimise ou non...
Quelles sont les automatismes a avoir avec ces contraintes d integrites ?
 
Merci ;)

Reply

Marsh Posté le 26-07-2002 à 10:58:21   

Reply

Marsh Posté le 26-07-2002 à 11:20:31    

Une petite kestion en plus sur les requetes SQL sous MySQL :D
Si g 4 champs dans ma table dont un qui est un Id juste pour creer une cle primaire et que je veux selectionner les 3 autres champs est il mieux de faire un SELECT * (ce que j aurais fais d ordinaire) ou un SELECT champ1,champ2,chmap3....
 
Je pose cette kestion car je vois de partout "NON PAS DE SELECT * !!" c pas optimise et c pas bon sous mysql... :??:

Reply

Marsh Posté le 26-07-2002 à 11:28:07    

lis ça c'est un bon début
 
http://www.phpfrance.com/tutorials/index.php?id=44


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 26-07-2002 à 11:57:27    

Autres kestions qui me turlupine : (Ca evitera de creer 10 topics) :D
 
* Sur free , le php/mysql est plutot lent mais je voudrais optimiser la chose au maxi alors vaut mieux faire un mysql_pconnect d entree et etre peinard sur la connexion a la base (g plusieurs script qui utilisent des requetes SQL mais pas de facon obligatoire) ou faire un mysql_connect dans un script et faire un include du script a chaque fois ?
 
* si je n utilise pas le mysql_pconnect (depend de votre reponse) et qu effectivement j utilise mon script de connexion a la base je mets donc un mysql_close a la fin de chaque script mais dois je egalement mettre un mysql_free_result pour liberer la mem ou c auto avec le close ?
 
* Si je fais un SELECT d un element dont je suis sur qu il est unique dans la BDD a moins que qqun ait traffique ma table :D est il preferable pour que ca soit plus securisant de faire un SELECT DISCTINT ? cela entraine il des pertes de perfs ?
 
Merci a tous ceux qui auront l obligence de me repondre...
:jap:

Reply

Marsh Posté le 26-07-2002 à 12:25:59    

MkRacing66 a écrit a écrit :

Autres kestions qui me turlupine : (Ca evitera de creer 10 topics) :D
 
* Sur free , le php/mysql est plutot lent mais je voudrais optimiser la chose au maxi alors vaut mieux faire un mysql_pconnect d entree et etre peinard sur la connexion a la base (g plusieurs script qui utilisent des requetes SQL mais pas de facon obligatoire) ou faire un mysql_connect dans un script et faire un include du script a chaque fois ?
 
> pas de connection persistente, tu utilises mysql_connect pour te connecter a la base juste quand tu en as besoin (cad avant de selectionner la base et de commencer tes requetes) et tu fermes la connection a la bdd avec mysql_close des que tu as fini tes mysql_query et non pas a la fin de ton script
 
* si je n utilise pas le mysql_pconnect (depend de votre reponse) et qu effectivement j utilise mon script de connexion a la base je mets donc un mysql_close a la fin de chaque script mais dois je egalement mettre un mysql_free_result pour liberer la mem ou c auto avec le close ?
 
mysql_free_result n'est utile reelement que sur les grandes quantites de donnees (donc cai pas soovent utilise...) vu les ressources ke ca prend...
 
* Si je fais un SELECT d un element dont je suis sur qu il est unique dans la BDD a moins que qqun ait traffique ma table :D est il preferable pour que ca soit plus securisant de faire un SELECT DISCTINT ? cela entraine il des pertes de perfs ?
 
=> SELECT
 
Merci a tous ceux qui auront l obligence de me repondre...
:jap:



Reply

Marsh Posté le 26-07-2002 à 12:37:41    

Merci Yack...
 
Heu le close je le mets juste apres avoir fait un $Resultat= mysql_query ou il faut le mettre avoir apres le mysql_fetch_array... je presume que apres le mysql_query c good car apres c en memoire dans la variable $Resultat ?
 
Comment fait on qd on met un bouton parcourir dans un formulaire pour copier l element selectionne sur le serveur ?
Exemple : un fichier jpeg a importer
 
Existe il une commande qui fait cette action de facon automatique ou doit on faire tout une procedure pour executer la copie ?

Reply

Marsh Posté le 26-07-2002 à 13:40:05    

pour le mysql_close c juste apres les mysql_query
 
sinon mysql_fetch_row est légèrement plus rapide que mysql_fetch_array :)
 
pour le bouton parcourir, c'est un "input" de type "file" tu dois aussi modifier la "method" de ton "form" => www.allhtml.com
 
les infos concernant le fichier uploadé sont dans $HTTP_POST_FILES['nom_du_input']
 
par exemple le chemin ou il est stocké temporairement :
$HTTP_POST_FILES['nom_du_input']['tmp_name']
 
tu peux utiliser move_uploaded_file pour le deplacer par exemple ou tu le souhaites :)
 
n'oublie pas de vérifier le contenu du fichier uploadé (image et non pas un script php par exemple) pour des raisons de sécurité
 
 

Reply

Marsh Posté le 26-07-2002 à 13:49:31    

Et bien et bien j en apprends beaucoup :)
Merci a toi yack une fois de plus.
 
Heu si je mets un filtre pour ne pouvoir selectionner que des jpeg,gif par exemple ca m evite de verifier le contenu car sinon je ne vois pas comment faire exactement mais bon je verrais en temps et en heure.
 
Par contre g encore une autre kestion et oui ajd c journee porte ouverte aux kestions :d  
si je fais un $PageInitiale = $HTTP_SERVER_VARS['HTTP_REFERRER'] je recup le nom de la page source cad la page qui a appele le script mais je ne recup que le nom de la page ou tout le chemin complet ou avec les parametres envoyes ... koi exactement ?
 
:jap:
Dsl je ne vous ferais plus chier de l apres midi apres ca :D

Reply

Marsh Posté le 26-07-2002 à 14:07:30    

MkRacing66 a écrit a écrit :

Et bien et bien j en apprends beaucoup :)
Merci a toi yack une fois de plus.
 
Heu si je mets un filtre pour ne pouvoir selectionner que des jpeg,gif par exemple ca m evite de verifier le contenu car sinon je ne vois pas comment faire exactement mais bon je verrais en temps et en heure.
 
=> http://www.php.net/manual/en/function.getimagesize.php
ca devrait t'aider a faire qques verifications
 
Par contre g encore une autre kestion et oui ajd c journee porte ouverte aux kestions :d  
si je fais un $PageInitiale = $HTTP_SERVER_VARS['HTTP_REFERRER'] je recup le nom de la page source cad la page qui a appele le script mais je ne recup que le nom de la page ou tout le chemin complet ou avec les parametres envoyes ... koi exactement ?
 
=> matte ici : http://www.php.net/manual/en/reser [...] les.server
 
:jap:
Dsl je ne vous ferais plus chier de l apres midi apres ca :D



Reply

Sujets relatifs:

Leave a Replay

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