Addslashe avec une requette sql server ?
Résolu/Fermé
mireille
Messages postés
14
Date d'inscription
jeudi 14 septembre 2000
Statut
Membre
Dernière intervention
19 février 2014
-
19 sept. 2007 à 10:59
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 21 sept. 2007 à 18:06
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 21 sept. 2007 à 18:06
Bonjour SVP pouvez vous me dire comment je doit faire pour que addslashe marche avec une requette sql server?en effet, mes variables dans le INSERT contiennent des ' j' utilise la fonction addslashe sans succès.
A voir également:
- Addslashe avec une requette sql server ?
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Mysql community server - Télécharger - Bases de données
- Serviio media server - Télécharger - TV & Vidéo
- Requête sql pix - Forum Python
6 réponses
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
19 sept. 2007 à 22:06
19 sept. 2007 à 22:06
Salut,
Un peu de code pour agrémenter ça ? Comment tu t'y ai pris ?
Un peu de code pour agrémenter ça ? Comment tu t'y ai pris ?
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
19 sept. 2007 à 23:16
19 sept. 2007 à 23:16
Bsr
J'utilise pas SLQ Server mais avec MySQL je fais ceci pour les champs texte :
et ça fonctionne nickel ;-)
Voilà
J'utilise pas SLQ Server mais avec MySQL je fais ceci pour les champs texte :
<?php ... $quand="Aujourd'hui"; $query="UPDATE ma_table SET ma_periode='".addslashes($quand)."' WHERE ma_cle=2"; ... ?>
et ça fonctionne nickel ;-)
Voilà
Salut chers amis.en effet je n'ai pas encore trouvé de solution mon problème. voilà mon code :
if (($_POST['codeposte'] <> "" ) && ($_POST['libposte'] <> "") )
{
$poste = addslashes($_POST['codeposte']);
$libelle = addslashes($_POST['libposte']);
$result=mssql_query("select * from poste where code_poste='".$poste."'",$sqlconnexion);
$exist=mssql_num_rows($result);
if ($exist==1){?>
<script language="JavaScript" type="text/javascript">
alert("ce poste a déjà été enregistré");
</script>
<? }
else
mssql_query("insert into POSTE values('".$poste."','".$libelle."'",$sqlconnexion); //or die ('erreur : '.mssql_error() );
mssql_free_result($result);
}
voilà le message d'erreur:
Warning: mssql_query(): message: Ligne 1 : syntaxe incorrecte vers 'étude'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): message: Ouvrez les guillemets avant la chaîne de caractères ''. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): Query failed in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
if (($_POST['codeposte'] <> "" ) && ($_POST['libposte'] <> "") )
{
$poste = addslashes($_POST['codeposte']);
$libelle = addslashes($_POST['libposte']);
$result=mssql_query("select * from poste where code_poste='".$poste."'",$sqlconnexion);
$exist=mssql_num_rows($result);
if ($exist==1){?>
<script language="JavaScript" type="text/javascript">
alert("ce poste a déjà été enregistré");
</script>
<? }
else
mssql_query("insert into POSTE values('".$poste."','".$libelle."'",$sqlconnexion); //or die ('erreur : '.mssql_error() );
mssql_free_result($result);
}
voilà le message d'erreur:
Warning: mssql_query(): message: Ligne 1 : syntaxe incorrecte vers 'étude'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): message: Ouvrez les guillemets avant la chaîne de caractères ''. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): Query failed in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
20 sept. 2007 à 14:33
20 sept. 2007 à 14:33
Bjr
Hum il manque une parenthèse fermante dans ta requête avant ",$sql... et laisse un espace entre values et ( :
De plus c'est quand même mieux de citer les champs que tu insères (attention vérifie que codepost & libposte sont bien les bons noms de champ)
Hum il manque une parenthèse fermante dans ta requête avant ",$sql... et laisse un espace entre values et ( :
mssql_query("insert into POSTE values ('".$poste."','".$libelle."')",$sqlconnexion);
De plus c'est quand même mieux de citer les champs que tu insères (attention vérifie que codepost & libposte sont bien les bons noms de champ)
mssql_query("insert into POSTE (codeposte,libposte) values ('".$poste."','".$libelle."')",$sqlconnexion);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mireille
Messages postés
14
Date d'inscription
jeudi 14 septembre 2000
Statut
Membre
Dernière intervention
19 février 2014
21 sept. 2007 à 10:20
21 sept. 2007 à 10:20
Bjr
C'est vrai qu'il manque un paranthèse fermante dans mon code je l'ai mise. Mais mon probléme n'est toujours pas resolu.
Voila mon code
$poste = $_POST['codeposte'];
$libelle = $_POST['libposte'];
$result=mssql_query("select * from poste where code_poste='".$poste."'",$sqlconnexion);
$exist=mssql_num_rows($result);
if ($exist==1){?>
<script language="JavaScript" type="text/javascript">
alert("ce poste a déjà été enregistré");
</script>
<? }
else
mssql_query("insert into POSTE values('".addslashes($poste)."','".addslashes($libelle)."')",$sqlconnexion); //or die ('erreur : '.mssql_error() );
et voilà le mesage d'erreur quand je veux inserer la chaine : Chargé d'étude
Warning: mssql_query(): message: Ligne 1 : syntaxe incorrecte vers 'etude'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): message: Ouvrez les guillemets avant la chaîne de caractères ')'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): Query failed in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
SVP aidez moi.
C'est vrai qu'il manque un paranthèse fermante dans mon code je l'ai mise. Mais mon probléme n'est toujours pas resolu.
Voila mon code
$poste = $_POST['codeposte'];
$libelle = $_POST['libposte'];
$result=mssql_query("select * from poste where code_poste='".$poste."'",$sqlconnexion);
$exist=mssql_num_rows($result);
if ($exist==1){?>
<script language="JavaScript" type="text/javascript">
alert("ce poste a déjà été enregistré");
</script>
<? }
else
mssql_query("insert into POSTE values('".addslashes($poste)."','".addslashes($libelle)."')",$sqlconnexion); //or die ('erreur : '.mssql_error() );
et voilà le mesage d'erreur quand je veux inserer la chaine : Chargé d'étude
Warning: mssql_query(): message: Ligne 1 : syntaxe incorrecte vers 'etude'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): message: Ouvrez les guillemets avant la chaîne de caractères ')'. (severity 15) in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
Warning: mssql_query(): Query failed in c:\program files\easyphp1-8\www\gestion_objectif\form\admin_poste.php on line 17
SVP aidez moi.
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
21 sept. 2007 à 18:06
21 sept. 2007 à 18:06
Bsr
Hum en faisant un tour sur https://www.php.net/addslashes on tombe sur le message suivant :
luciano at vittoretti dot com dot br
31-Oct-2005 12:18
Note, this function wont work with mssql or access queries.
Use the function above (work with arrays too).
Hé oui mssql ne supporte pas les séquences d'escape ! Rien d'étonnant d'ailleurs de la part d'un produit Made In Micro$oft !
Donc utilise la fonction stripslashes_mssql ci-dessus et ça devrait fonctionner.
Voilà
Hum en faisant un tour sur https://www.php.net/addslashes on tombe sur le message suivant :
luciano at vittoretti dot com dot br
31-Oct-2005 12:18
Note, this function wont work with mssql or access queries.
Use the function above (work with arrays too).
function addslashes_mssql($str){ if (is_array($str)) { foreach($str AS $id => $value) { $str[$id] = addslashes_mssql($value); } } else { $str = str_replace("'", "''", $str); } return $str; } function stripslashes_mssql($str){ if (is_array($str)) { foreach($str AS $id => $value) { $str[$id] = stripslashes_mssql($value); } } else { $str = str_replace("''", "'", $str); } return $str; }
Hé oui mssql ne supporte pas les séquences d'escape ! Rien d'étonnant d'ailleurs de la part d'un produit Made In Micro$oft !
A la place il faut remplacer chaque quote single ' par 2 quotes '' (attention pas de guillemets !)
Donc utilise la fonction stripslashes_mssql ci-dessus et ça devrait fonctionner.
Voilà