Código anterior (siempre use esto y funciona correctamente), como "dato curioso" en esta consulta sino concateno '.($by).' no me devuelve datos, es decir que no puedo usar :by en la consulta. No entiendo por qué (si me pudieran ayudar con eso también)
Código
$con = Connection(USERNAME, PASSWORD); $query = $con->prepare('SELECT id_album FROM albums WHERE '.($by).' = :by_value'); $results = $query->fetchAll();
Pero viendo un poco parece ser que hacerlo de la siguiente manera es más eficiente y seguro:
Pero me dice "Uncaught Error: Call to a member function bindParam() on bool" busqué el error pero veo ninguna relación con lo que escribí, lo ví varias veces pero parece que todo está correcto.
Código
$con = Connection(USERNAME, PASSWORD); $query = $con->prepare('SELECT id_album FROM albums WHERE :by = :by_value'); $query = $con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $query->bindParam(':by', $by); $query->bindParam(':by_value', $by_value); $query->execute(); $results = $query->fetchAll();