Foros del Web » Programando para Internet » PHP »

odbc_fetch_array....

Estas en el tema de odbc_fetch_array.... en el foro de PHP en Foros del Web. hola..me podrian decir porque me marca este error?? odbc_fetch_array():suplied argument is not a valid ODBC result source (direccion) on line 15 <?php $dsn = "skorpio"; ...
  #1 (permalink)  
Antiguo 10/09/2008, 10:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta odbc_fetch_array....

hola..me podrian decir porque me marca este error??

odbc_fetch_array():suplied argument is not a valid ODBC result source (direccion) on line 15

<?php
$dsn = "skorpio";
$usuario = "";
$clave="";
$ubi=$_REQUEST['ubicacion'];
$codigo=$_REQUEST["codigos"];
$x= array();
$x= str_split($codigo,15);

if ($conn_access = odbc_connect ($dsn, $usuario, $clave)){
echo "Conectado correctamente";
echo "<BR>";
for($i=0;$i<count($x);$i++){
$ssql = "SELECT * FROM proveedores WHERE Id='$x[i]'";
$row = odbc_fetch_array($ssql);
if($row[ubicacion]=='$ubi'){
echo "existe";
}
else{
echo "no existe";
}


}
}
else{
echo "Error en la conexión con la base de datos";
}
?>

gracias por su ayuda!!
  #2 (permalink)  
Antiguo 10/09/2008, 11:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: odbc_fetch_array....

Lo que sucede es que en ningún momento ejecutas la consulta, este sería el código corregido:

$ssql = "SELECT * FROM proveedores WHERE Id=$x[i]";
$result=odbc_exec($conn_access, $ssql);
$row = odbc_fetch_array($result);

Debes de saber que odbc_fetch_array no ejecuta la consulta, sino tranforma el resultado en un array para que puedas tomar los valores por cada campo, en consecuencia no puede recibir como parámtro la cadena de la consulta SQL, sino el resultado de dicha consulta que es ejecutada por odbc_exec. Bien, además le saqué las comilas simples a tu consulta SQL, porque es posible que el campo id sea un índice numérico (es lo más probable) así que se debe colocar sin comillas. Prueba eso.

Última edición por ElJavista; 11/09/2008 a las 08:53
  #3 (permalink)  
Antiguo 10/09/2008, 11:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: odbc_fetch_array....

gracias.. por contestar.. lo voy a checar.. y te digo como me fue...
  #4 (permalink)  
Antiguo 11/09/2008, 10:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: odbc_fetch_array....

hola ElJavista...

ya modifique mi codigo como me dijiste:
<?php
$dsn = "skorpio";
$usuario = "";
$clave = "";
$ubi=$_REQUEST['ubicacion'];
$codigo=$_REQUEST["codigos"];
$x= array();
$x= str_split($codigo,15);

if ($conn_access = odbc_connect ($dsn, $usuario, $clave)){
echo "Conectado correctamente";
echo "<BR>";
for($i=0;$i<count($x);$i++){
$ssql = "SELECT * FROM proveedores WHERE Id=$x[i] AND ubicacion=$ubi";
$as = odbc_exec($conn_access,$ssql);
$row = odbc_fetch_array($as);
print_r($row);
if($ssql == true){
echo "existe";
echo "<BR>";
}
else{
echo "no existe";
echo "<BR>";
}


}
}
else{
echo "Error en la conexión con la base de datos";
}

?>

pero...

me marca esto:
Conectado correctamente

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1., SQL state 07001 in SQLExecDirect in C:\AppServ\www\Copia de consulta2.php on line 15

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\AppServ\www\Copia de consulta2.php on line 16
existe..

que onda con estas funciones??

gracias..
  #5 (permalink)  
Antiguo 11/09/2008, 13:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 9
Antigüedad: 15 años, 8 meses
Puntos: 0
error en sentencia SQL

se puede meter como parametro un arreglo en una sentencia??

ejemplo:

"SELECT * FROM estud WHERE Id='x[i]' "

me marca un error en odbc_exec y odbc_fetch:array...

gracias
  #6 (permalink)  
Antiguo 11/09/2008, 13:18
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: error en sentencia SQL

Si, si se puede.
$id = $x[n];

"SELECT * FROM estud WHERE ID='$id'";

Saludos
  #7 (permalink)  
Antiguo 11/09/2008, 14:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: odbc_fetch_array....

Temas unidos por favor no dupliques temas.
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 16:11.