Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema sentencia SQL-Oci

Estas en el tema de Problema sentencia SQL-Oci en el foro de PHP en Foros del Web. Buenas, estoy intentando hacer la siguiente consulta, y no sé porqué me devuelve un error de identificador no valido. Os pongo el codigo: $conn = ...
  #1 (permalink)  
Antiguo 21/05/2014, 01:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 33
Antigüedad: 10 años, 1 mes
Puntos: 0
Problema sentencia SQL-Oci

Buenas, estoy intentando hacer la siguiente consulta, y no sé porqué me devuelve un error de identificador no valido.

Os pongo el codigo:

$conn = oci_connect('ASDF', 'ASDF', $db);
$sql = "SELECT NCOMPLETO FROM cra_empleados where cra_empleados.empleados = u205078 ";
//Estoy haciendo la prueba para que me devuelva el nombre del usuario del ejemplo
$stid = oci_parse($conn,$sql);
oci_execute($stid);
$result = oci_fetch_array($stid, OCI_ASSOC);
echo $result['NCOMPLETO'] . "<br>\n";

El error que me aperece es el siguiente:

Warning: oci_execute(): ORA-00904: "U205078": invalid identifier in on line 69

Warning: oci_fetch_array(): ORA-24374: define not done before fetch or execute and fetch in on line 70


A ver si alguien me puede ayudar.

Saludos.
  #2 (permalink)  
Antiguo 21/05/2014, 18:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.978
Antigüedad: 11 años, 3 meses
Puntos: 2191
Respuesta: Problema sentencia SQL-Oci

Cuando una consulta está mal formada oci_parse() devuelve falso, por lo que el parámetro enviado a oci_execute() es un "identificador inválido".

Supongo que el campo empleados es char o varchar y, por tanto, el valor debería estar entre comillas simples para que la consulta se ejecute correctamente.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: select, sentencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.