Hola a todos: necesito ayuda. Soy novato en esto de PHP y mysql y necesito, en esta función php, hacer una consulta sobre una tabla en función del número de id (clave autonumérica).
El número de id lo obtengo como dato desde un array a través de una variable de sesión en función del número del contador. Esta variable contador indica el número de veces que se ejecuta la funcion.
El código de la función es el siguiente:
<?php
session_start( );
function obtienedatos ($tabla) {
$num = $_SESSION['numid'][$_SESSION['contador']+1];
include ("conectar.php");
// Conectamos a la BD
$conectar=mysql_connect($host, $usuario, $password);
if (!$conectar){die ("No se pudo seleccionar la base de datos: <br />". mysql_error());}
// Seleccionamos la tabla
mysql_select_db ("preguntas", $conectar);
// Asignamos la consulta
$consulta = "SELECT * FROM $tabla WHERE id === $num";
//Ejecutamos la consulta
$query = mysql_query ($consulta, $conectar);
if (!$query){die ("No se pudo ejecutar una consulta sobre la base de datos en obtienedatos: <br />". mysql_error());}
// Obtiene y muestra los resultados
while ($resultado_fila =mysql_fetch_row (($query))){
$_SESSION['bd'][$_SESSION['contador'][1]]= $resultado_fila[0];
$_SESSION['bd'][$_SESSION['contador'][2]] = $resultado_fila[1];
$_SESSION['bd'][$_SESSION['contador'][3]] = $resultado_fila[2];
$_SESSION['bd'][$_SESSION['contador'][4]] = $resultado_fila[3];
$_SESSION['bd'][$_SESSION['contador'][5]] = $resultado_fila[4];
$_SESSION['bd'][$_SESSION['contador'][6]] = $resultado_fila[5];
}
// Cerramos la conexión
mysql_close ($conectar);
}
?>
Esta consulta da un error "No se pudo ejecutar una consulta sobre la base de datos en obtienedatos: you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id===36' at line 1" . Este error no se por qué se produce ni como arreglarlo ¿Me podéis ayudar?
Aclaro que el número 36 es el número que se obtiene del array "$_SESSION['numid'][$_SESSION['contador']+1]" para evitar posibles respuestas en el foro en este sentido.
Espero vuestra ayuda. Muchas gracias.