Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer un caractere dans une variable ?

2 réponses
Avatar
Mag
Bonjour,

J'ai une variable :

$sujet='Bonjour "herro"'
ai je un moyen de changer les " par /" ?
car ils provoquent une erreur ensuite dans ma requete sql

merci d'avance

2 réponses

Avatar
espie
In article <44b3213a$0$30137$,
Mag wrote:
Bonjour,

J'ai une variable :

$sujet='Bonjour "herro"'
ai je un moyen de changer les " par /" ?
car ils provoquent une erreur ensuite dans ma requete sql


$sujet =~ s/"/"/g;

Si c'est bien du DBI, utiliser
$dbh->quote($sujet)
qui est explicitement prevu pour rajoute ce qu'il faut la ou il faut
dans une chaine (sauf si le module DBD correspondant est completement
buggue).

Sinon, il est de loin preferable d'utiliser un `placeholder', a condition
que la base le supporte.

E.g., plutot que
$dbh->do("SELECT Foo FROM Zoinx WHERE Sujet=".$dbh->quote($sujet));
utiliser
$dbh->do("SELECT Foo FROM Zoinx WHERE Sujet=(?)", undef, $sujet);
ou bien:
my $stmt = $dbh->prepare("SELECT FROM Zoinx WHERE Sujet=(?)");
$stmt->execute($sujet);

Avatar
Rue des Prairies
Bonjour,

J'ai une variable :

$sujet='Bonjour "herro"'
ai je un moyen de changer les " par /" ?
car ils provoquent une erreur ensuite dans ma requete sql

merci d'avance


Bonjour,

$sujet =~ s:":/":g;

Tout simplement.

Olivier.