[RESOLU] PDO : Comment faire quand on ne veut pas des '

Mammouth du PHP | 1339 Messages

06 juin 2014, 13:56

Hello,

Toujours moi...

Comment faire pour que cela marche :
$sql = "SELECT :champ FROM `la_table`";
$req = $connexion->prepare($sql);
$req->execute(array('champ' => '`la_table`.`le_champ`'));
Merci !
Bon sinon tu me fais un message privé et on se fait un TeamViewer

ViPHP
xTG
ViPHP | 7331 Messages

06 juin 2014, 14:55

C'est pas un problème de PDO mais de sa mauvaise utilisation.
Ce que tu veux faire n'a en fait pas lieu d'exister ! Cela n'a aucun sens.
Pourquoi faire une requête préparée sur aucun paramètre ???
Tout ce qui n'est pas une valeur de champs n'a pas à être dynamique dans une requête préparée car ce n'est pas possible de la mettre en cache partiellement.

La bonne utilisation de PDO (ou de toute autre librairie) pour ce que tu veux faire :
$table = '`la_table`';
$champ = '`le_champ`';
$sql = 'SELECT ' $table . '.' . $champ . ' FROM ' . $table;
$req = $pdo->query($sql);

Mammouth du PHP | 1339 Messages

06 juin 2014, 20:06

... Bon d'accord, c'est toujours pour le principe de si cette variable est passer par un $_POST ou un $_GET.
Comme mysql_real_escape_string est deprecated
Bon sinon tu me fais un message privé et on se fait un TeamViewer

ViPHP
xTG
ViPHP | 7331 Messages

07 juin 2014, 10:44

PDO::quote() ? ;)