Code : Tout sélectionner
$sql = "insert INTO ar_order
(
ID_AR_ORDER,
ORDER_DATE,
AR_QUANTITY,
REMARK,
ID_CLIENT,
USER_ID
)
values
(
'',
'".$date."',
'".$ar_qty."',
'".$remark."',
'".$id_client."',
'".$user_id."'
)
";
Exact. Et non je ne fais aucun traitement pour le moment (c'est toute la question justement).J'imagine que le champ qui te pose problème est REMARK, issu d'un textarea sans doute (c'est à partir d'un formulaire?)?! tu ne fais aucun traitement sur ce champ ?
Je pense que c'est inutile vu les explications données ci-dessus.tu peux montrer le reste du code?
<pre>
<?php
$txt = 'aaa bbb ccc ddd eee
fff ggg';
$txt = preg_replace('/ +/', ' ', $txt);
$txt = preg_replace('/[\r\n]+/', "\n", $txt);
echo $txt;
?>
</pre>
Code : Tout sélectionner
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'espace un deux
trois \b \n en encore du texte \n ici du text ', '69', ' at line 15
dans ce cas c'est plus simple :je ne veux pas de newline dans mon champ.
<?php
// ici la connexion au serveur et la selection de la base de données ( mysql_connect() + mysql_select_db() )
$txt = 'aaa bbb ccc ddd eee
fff ggg';
$txt = preg_replace('/\s+/', ' ', $txt);
$txt = mysql_real_escape_string($txt);
echo $txt;
?>
Pour éviter les injections SQL, on utilise mysql_real_escape_string().
en haut à gauche de ce sujet.