MySql : like puis différence de résultat - SQL/NoSQL - Programmation
Marsh Posté le 24-02-2003 à 16:52:08
relis la doc concernant mysql_fetch_array()...
chaque appel retourne la ligne courante sous forme de tableau et avance le pointeur de résultat MySQL d'une ligne, ou returne FALSE si y'a plus de résultats
si tu fais un seul appel à mysql_fetch_array() ton pointeur n'avance pas et il t'affiche toujours la même ligne...
de plus utiliser mysql_result() est très fortement déconseillé...
Marsh Posté le 24-02-2003 à 20:54:45
Sh@rdar a écrit : relis la doc concernant mysql_fetch_array()... |
merci
je suis allé sur Nexen mais j'ai pas eu trop le temps de me plonger dedans.
Juste comme ca, tu conseilles koi de "rapide" pour faire un truc genre un moteur de recherche dans ton site qui fatalement mouline pas mal ?
EDIT : en zieutant sur des sites tutoriaux (asp-php.net pour ne pas le citer) j'ai compris :
Code :
|
C'est bon ca en perf ?
De même, un type de connexion proposé par asp-php.net est :
Code :
|
le @ sert à koi ? c parce qu'il n'y a pas d'affectation genre :
$connection = mysql_connect($host,$user,$pass)
Enfin, kel est l'intéret de mettre un mot de passe puisque il sera en clair ds le fichier de connexion.php ?
a+
merci
Marsh Posté le 24-02-2003 à 23:08:40
Je pense pas qu'il y ait de différence de perfs
Le @ devant un appel de fonction sert à désactiver l'affichage d'erreurs (les "warning : ...." que tu as parfois).
Marsh Posté le 25-02-2003 à 09:47:22
mrBebert a écrit : Je pense pas qu'il y ait de différence de perfs |
merci
d'autres avis par rapport à mes questions ?
a+
Marsh Posté le 25-02-2003 à 19:54:37
moi m'sieur, moi, je peux donner mon avis ?
C'est bien d'utiliser le mysql_fetch_array. C'est surement la solution la plus lisible, et certainement très performante
Faut juste faire attention aux résultats.
Si tu as une requête qui te renvoie une seule colonne avec le résultat suivant :
aaa |
il va y avoir un problème en le parcourant. En arrivant à la deuxième ligne, le mysql_fetch_array() sera évalué à faux et tu quitteras la boucle.
C'est rare comme situation mais toujours bon à savoir
Pour le mot de passe, c'est important. Un serveur SQL peut être accédé par plusieurs utilisateurs, ce serait dommage que n'importe qui puisse écrire un script accédant à tes données. Bien sur, le fichier qui contient le mot de passe ne doit pas être accessible à n'importe qui.
Marsh Posté le 26-02-2003 à 09:05:53
mrBebert a écrit : moi m'sieur, moi, je peux donner mon avis ?
il va y avoir un problème en le parcourant. En arrivant à la deuxième ligne, le mysql_fetch_array() sera évalué à faux et tu quitteras la boucle. |
Merci.
Ben c pas si rare que ca ! Si tu as une colonne facultative qui peut etre à NULL et bien ca peut arriver.
A moins que tu ne fasses un "select *". Mais quel est l'intérêt de faire un "select *" si tu sais que tu ne veux qu'un champs ?
Ok pour la protection de ta base ! Je mets ca ds un répertoire "PROTEC" (par exemple) puis je fais un fichier .htaccess
c ca ?
grazie
Marsh Posté le 26-02-2003 à 10:36:01
kileak2 a écrit : |
Marsh Posté le 26-02-2003 à 19:15:03
Le fichier .htaccess, c'est seulement pour la protection au niveau du serveur http.
Il y a 2 possibilités d'accès :
- par quelqu'un connecté sur le serveur : là, ce sont les droits d'accès aux fichiers qui jouent.
- par le serveur web : il suffit de nommer le fichier en .php (ou n'importe quelle extension traitée par le serveur web). Ainsi, le serveur exécutera le fichier au lieu de renvoyer directement son contenu.
Marsh Posté le 26-02-2003 à 19:53:06
mrBebert a écrit : Le fichier .htaccess, c'est seulement pour la protection au niveau du serveur http. |
ok Y avait un quiproquo
a+ merci
Marsh Posté le 24-02-2003 à 16:44:04
salut
le titre n'est pas très explicite désolé mais il m'arrive un truc zarbe :
j'ai dans ma base un 'toto' , un 'pretoto' et un 'totosuffix'
Dans le 1er cas (1er echo), j'ai 3 'toto' :
toto
toto
toto
Dans le second :
toto
pretoto
totosuffix
Pkoi dans le 1er cas, il ne prend que la chaine exact ?
c une spécif de cette syntaxe ?
Merci
a+
Message édité par kileak2 le 24-02-2003 à 16:45:25