Estoy tratando de obtener la sintaxis correcta para lo siguiente. En este caso $post_pub = 1
$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"="$post_pub"';Php arroja un error: la columna "$post_pub" no existe
Me he topado con pg_query_params, esto parece ser la dirección correcta, pero necesito ayuda. ¿Cómo puedo hacer que esto funcione?
Nunca usé pg_connect , aunque creo que necesitas algo como esto:
$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"=$1 '; $result = pg_query_params($dbconn, $sql, array($post_pub));el problema son las comillas dobles alrededor de la variable. Postgres lo entiende como nombre de "objeto de base de datos", en esta parte de la consulta, una columna. para evitarlo, intente usar:
$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"='."$post_pub"; también considere pasar a PDO; dicho uso es una invitación directa para la inyección de sql. Establecer $post_pub en 0 or (delete from Publications)" eliminará todos los datos si el usuario tiene suficientes derechos, por ejemplo.