par
Maitrepylos » 20 oct. 2006, 11:29
Ca y est j'ai la révélation à mon incompréhension que je comprenais pas tout, en ignorant complétement la remarque de Ryle.
<?php
echo sqlite_escape_string($sql); // affiche : Ma chaine avec ''apostrophes''
echo $sql; // affiche : Ma chaine avec 'apostrophes' (la valeur de $sql n'est pas modifiée)
?>
En fait j'ai deux serveur, un en production et un autre en test.
N'ayant jamais vraiment vérifier mon php.ini et travaillant sous Debian, il étais absolument évident pour moi que le simple fait de faire apt-get install php5, me mettrais mon php.ini avec les magic_quotes_gpc à Off, donc pour moi le code suivant etais correcte.
<?php
$sqladresse = "UPDATE adresse SET adrrue = '$rue', adrnumero = '$numero', adrbte = '$bte', adrlocalite = '$localite'";
$sqladresse.="WHERE idparticipant = '".$_SESSION['id']."'";
pg_escape_string($sqladresse);
pg_query($sqladresse);
?>
le simple fait de faire
<?php
pg_escape_string($sql)
?>
étais pour moi correcte, donc mon $sql étais bien parsé, de plus cela fonctionnais bien, normal les magic_quotes_gpc sont activés
Et puis "voila", que je me permet de voir mon php.ini sur le serveur de test (qui lui est sous Ubuntu) et de mettre les magic_quotes_gpc à Off.
Et voila les problèmes qui commence, puisque dans ma tête le simple fait de faire pg_escape_string($sql) etais suffisant, je me bloquais, je viens seulement de comprendre qu'il faut que je parse chaque variables, comme par exemple
<?php
$opensqlite = sqlite_open('sqlite/basedb.sqlite');
$sql = "UPDATE motsphrase SET";
$sql.=" motphrasedebut = '".sqlite_escape_string($motphrasedebut)."',";
$sql.=" motreponse = '".sqlite_escape_string($reponse)."',";
$sql.=" motphrasefin = '".sqlite_escape_string($motphrasefin)."',";
$sql.=" motssolution = '".sqlite_escape_string($motssolution)."'";
$sql.=" WHERE idmots = $id ";
sqlite_query($sql,$opensqlite );
sqlite_close($opensqlite);
?>
En tous cas merci de votre aide.
et comme je dis
L'expérience est la somme de toutes nos erreurs.
Ca y est j'ai la révélation à mon incompréhension que je comprenais pas tout, en ignorant complétement la remarque de Ryle.
[quote="Ryle"]
[php]
<?php
echo sqlite_escape_string($sql); // affiche : Ma chaine avec ''apostrophes''
echo $sql; // affiche : Ma chaine avec 'apostrophes' (la valeur de $sql n'est pas modifiée)
?>
[/php]
[/quote]
En fait j'ai deux serveur, un en production et un autre en test.
N'ayant jamais vraiment vérifier mon php.ini et travaillant sous Debian, il étais absolument évident pour moi que le simple fait de faire apt-get install php5, me mettrais mon php.ini avec les magic_quotes_gpc à Off, donc pour moi le code suivant etais correcte.
[php]
<?php
$sqladresse = "UPDATE adresse SET adrrue = '$rue', adrnumero = '$numero', adrbte = '$bte', adrlocalite = '$localite'";
$sqladresse.="WHERE idparticipant = '".$_SESSION['id']."'";
pg_escape_string($sqladresse);
pg_query($sqladresse);
?>
[/php]
le simple fait de faire
[php]
<?php
pg_escape_string($sql)
?>
[/php]
étais pour moi correcte, donc mon $sql étais bien parsé, de plus cela fonctionnais bien, normal les magic_quotes_gpc sont activés :shock:
Et puis "voila", que je me permet de voir mon php.ini sur le serveur de test (qui lui est sous Ubuntu) et de mettre les magic_quotes_gpc à Off.
Et voila les problèmes qui commence, puisque dans ma tête le simple fait de faire pg_escape_string($sql) etais suffisant, je me bloquais, je viens seulement de comprendre qu'il faut que je parse chaque variables, comme par exemple
[php]
<?php
$opensqlite = sqlite_open('sqlite/basedb.sqlite');
$sql = "UPDATE motsphrase SET";
$sql.=" motphrasedebut = '".sqlite_escape_string($motphrasedebut)."',";
$sql.=" motreponse = '".sqlite_escape_string($reponse)."',";
$sql.=" motphrasefin = '".sqlite_escape_string($motphrasefin)."',";
$sql.=" motssolution = '".sqlite_escape_string($motssolution)."'";
$sql.=" WHERE idmots = $id ";
sqlite_query($sql,$opensqlite );
sqlite_close($opensqlite);
?>
[/php]
En tous cas merci de votre aide.
et comme je dis [b][size=150]L'expérience est la somme de toutes nos erreurs.[/size][/b]