Pourquoi ne puis-je pas transmettre le nom de la table à une instruction PDO préparée?
$stmt = $dbh->prepare('SELECT * FROM :table WHERE 1');
if ($stmt->execute(array(':table' => 'users'))) {
var_dump($stmt->fetchAll());
}
Existe-t-il un autre moyen sûr d'insérer un nom de table dans une requête SQL? Avec coffre-fort, je veux dire que je ne veux pas faire
$sql = "SELECT * FROM $table WHERE 1"
array('u'=>'users', 't'=>'table', 'n'=>'nonsensitive_data')
etc.)