Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2008, 13:22
alexrivera
 
Fecha de Ingreso: agosto-2008
Mensajes: 46
Antigüedad: 15 años, 8 meses
Puntos: 0
¿Como escribo un parámetro de una función en una consulta SQL?

Buenas tardes a todos:

-Capturo el valor "vehiculo_nombre" de un List/menu de nombre "vehiculo_nombre" al enviar el formulario de la siguiente manera:

$vehiculo_nombre = $_POST['vehiculo_nombre'];

- Luego, ese valor lo paso a una función que he creado para hacer una búsqueda utilizando el valor que tiene "vehiculo_nombre" del list/menu para obtener el ID de ese elemento que el usuario ha seleccionado:


function seleccionarID($nombre){
$hostname_miConexion = "localhost";
$database_miConexion = "budget";
$username_miConexion = "root";
$password_miConexion = "alex";
$miConexion = mysql_pconnect($hostname_miConexion, $username_miConexion, $password_miConexion) or trigger_error(mysql_error(),E_USER_ERROR);

$SQL = "SELECT vehiculo_id FROM vehiculo WHERE vehiculo_nombre =".$nombre ;
$ID= mysql_query($SQL, $miConexion) or die(mysql_error());
$row_ID = mysql_fetch_assoc($ID);
$totalRows_ID = mysql_num_rows($ID);
if ($row_ID > 0){
return ($row_ID);
}
else{
return (false);
}
}
// Paso el valor devuelto por la función a una variable:
$vehiculo_id = seleccionarID($vehiculo_nombre);

//Y muestro los dos valores:
echo $vehiculo_nombre. "<br>";
echo $vehiculo_id. "<br>";
$_POST=array();
}


---------------------------------------------------------------------------------------------------
- Cuando ejecuto el formulario, me da este error:

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 '3 Estandar' at line 1
---------------------------------------------------------------------------------------------------

- Por lo visto, es un problema con la forma en que escribo el parámetro en la variable $SQL, porque en el menu despegable, esta frase:

'3 Estandar' at line 1

Equivale a la etiqueta "Mazda 3 Estandar", que efecitvamente esta en la línea 1 de la variable $SQL.

¿Como es la forma correcta de escribir el parámetro de la función en la instrucción SQL?