Utilisation de la fonction REPLACE et délimiteurs
Bonjour à tous,
Je souhaiterais utiliser la fonction MySql REPLACE pour insérer des liens dans un champ de base de données. Problème : le href : délimiteur 1 / l'argument du REPLACE : délimiteur 2 / texte de la requête : délimiteur 3.
J'ai essayé Heredoc :
Code:
1 2 3 4 5 6 7
| foreach($tableau as $key=>$value){
$sql= <<<EOD
UPDATE table SET infos=REPLACE(infos," $key"," <a href='../pages1/article-149.html#$value' target='_blank'> $key</a>")
WHERE arch=505 AND infos LIKE "% $key*%"
EOD;
...
} |
Mais j'obtiens :
Citation:
Parse error: syntax error, unexpected '<<' (T_SL)
Je ne sais plus trop comment m'en tirer.
Edit :
La solution :
Code:
1 2 3 4 5 6 7
| $sql= "UPDATE table SET infos=REPLACE(infos,' $key*',':url') WHERE arch=505 AND infos LIKE '% $key*%'";
try{$req=$bdd->prepare($sql);}
catch(Exception $e) {exit('<b>Exception at line '. $e->getLine() .' :</b> '. $e->getMessage());}
$req->bindValue("url"," <a href='../pages1/article-149.html#".$value."' target='_blank'>".$key."</a>", PDO::PARAM_STR);
try{$req->execute();}
catch(Exception $e) {exit('<b>Exception at line '. $e->getLine() .' :</b> '. $e->getMessage());} |
ne fonctionne pas non plus (bindValue() n'est pas exécuté)
Merci de votre aide
JD