SQL - Erreur insertion donnée

Répondre
Bzh
le 24/06/2006 à 12:22
Bzh
mysql_real_escape_string() est même encore préférable à mysql_escape_string() !!!

Mais il faut absolument passer par l'une d'elle !!!!
dunbar
le 24/06/2006 à 12:44
dunbar
Bonjour
Comme vous l'avez compris je suis débutant.

Pourriez-vous me donner un exemple SVP

original:
$sql = "INSERT INTO webmaster VALUES('$id_client','$ref','$nom','$adr_client','$rem_client','$tel_client')";


Avec votre exemple

$sql = "INSERT INTO table VALUES ('".mysql_escape_string($id_client','$ref','$nom','$adr_client','$rem_client','$tel_client)."')";


Cela est t'il juste ???????

Merci
LA GLOBULE
le 24/06/2006 à 13:08
LA GLOBULE
"mysql_real_escape_string() est même encore préférable à mysql_escape_string() !!!"

Je ne suis pas d'accord. La real demande une connexion à MySQL et elle fait une requete à MySQL à chaque fois que tu l'appelles.
Cette fonction est inutilisable si tu as un "gros" site.

dunbar : non, ce n'est pas juste.

$sql = "INSERT INTO table VALUES ('".mysql_escape_string($id_client)."',".mysql_escape_string($ref).",'".mysql_escape_string($nom)."','".mysql_escape_string($adr_client)."','".mysql_escape_string($rem_client)."','".mysql_escape_string($tel_client)."')";
dunbar
le 24/06/2006 à 17:56
dunbar
Merci effectivement cela fonctionne parfaitement, je peu introduire des apostrophes sans avoir d'erreurs

Merci...
LupusMic
le 25/06/2006 à 23:26
LupusMic
(La Globule) Je crois qu'ils ne sont pas de ton avis chez MySQL ;)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LA GLOBULE
le 26/06/2006 à 07:58
LA GLOBULE
Cette fonction est identique à mysql_real_escape_string() à l'exception faite que mysql_real_escape_string() prends deux identifiants de connexion comme premiers arguments et échappe la chaîne en se basant que le jeu de caractères courant. mysql_escape_string() ne prends pas d'identifiant de connexion et ne respecte pas le jeu de caractères courant.


C'est expliqué clairement : la real a besoin d'une connexion au serveur, et fait une requete SQL à chaque fois que l'on appelle pour connaitre le jeu de caractère courant.

Cela peut-etre chiant, car je peux très bien avoir envie de déclarer mes variables PHP contenant des requetes SQL avant de faire une connexion à MySQL.
Or dans ce cas, je serais obligé de modifier mes $sql une fois la connexion à MySQL établie.

De plus, elle n'offre aucun système pour stocker le jeu de caractère courant quelque part, je trouve cela dommage, et c'est clairement inutilisable en production si tu n'as pas beaucoup de sous et un gros trafic (testé chez iFRANCE, et ben on est revenu à mysql_escape_string pour eviter de racheter des box pour MySQL. Ben ouais, avec une base de 10 Go qui se prend 500 select par seconde en moyenne, tu la sens la différence entre la real et la normale).

Sinon, oui, la real est forcemment plus efficace, car elle check tout en fonction de tes données en base.

Après c'est un choix à faire entre mettre à genou un mysql (comme vu precedemment, tout depend de ton trafic, pour un site perso on ne verra pas vraiment la différence) et un escape un peu moins efficace.

En meme temps, si tu utilises du 8859-1, a priori, les seuls trucs à escaper, ce sont les ', or mysql_escape_string le fait très bien.

Pis les gens de MySQL, ils m'enervent, voila smiley
dunbar
le 26/06/2006 à 17:15
dunbar
Salut,

Comme les gens MySQL t'énnerve je vais en remettre une couche smiley .

Alors voilà pour faire simple j'ai 3 champs le champs_1, le champs_2 , et le champs_3 et je désire que les trois champs s'enregistre dans un seul CHAMPS de ma table (sur trois lignes évidament mais un seul champs.

Merci d'avance
LupusMic
le 26/06/2006 à 23:02
LupusMic
Ce n'est pas une bonne idée. Mais il est vrai que tu peux séparer les ligne par des fins de ligne (n).

Au fait, une adresse doit respecter une norme bien précise.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Bzh
le 26/06/2006 à 23:54
Bzh
Ah ??? Et bin pour le cou j'apprends un sacré truc là...

Tain, une requette par variable, cela peut faire beaucoup !!!! Quarément même...
dunbar
le 27/06/2006 à 07:46
dunbar
Salut,

Franchement génial comme aide ici, ou alors vous avez l'habitude d'avoir des DEBUTANT GENIE ???
Parce que avec "simple il suffit de faire /n" ou alors "simple il suffit de // etc.." CA AIDE BEAUCOUP CE GENRE DE CONNERIES.

Ceci dit j'ai quand même trouver, il suffit de faire 3 INTRO séparer, et non une seule.


MERCI BEAUCOUP
Répondre
LoadingChargement en cours