Autor
|
Tema: error con mysql_fetch_array (Leído 9,948 veces)
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
bueno, este pedaso es de una clase en un manual de php public function consulta($consulta) { $this->resultado = mysql_query($consulta,$this->descriptor); } public function extraer_registro() { return $fila; } else { return false; } }
bueno, el problema es que al intentar llamar el resultado de una consulta me da este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/np/www/SQL/index.php on line 29 alguna ayuda?
|
|
|
En línea
|
|-
|
|
|
RadicalEd
|
Imprime en una variable que tipo de objeto te retorna la función extraer_registro???
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
Pero unicamente es un warning, si te funciona bien: error_reporting(0); y listo. O si no, fetch_array solo acepta consultas de seleccion, osea tienes que haber hecho: SELECT * FROM `mi_tabla`ORDER BY `id` DESC... por ejemplo.
Aunque desconozco un poco el uso de clases el PHP, creo que ahí el warning, no se :S
|
|
|
En línea
|
|
|
|
& eDu &
Desconectado
Mensajes: 580
|
bueno, este pedaso es de una clase en un manual de php public function consulta($consulta) { $this->resultado = mysql_query($consulta,$this->descriptor); } public function extraer_registro() { return $fila; } else { return false; } }
bueno, el problema es que al intentar llamar el resultado de una consulta me da este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/np/www/SQL/index.php on line 29 alguna ayuda? Hay poco codigo y no logro entender lo que se saca de la DB, pero tu no puedes devolver $fila , se supone que es una array, deberás debolver return $fila['loquesea'];
|
|
|
En línea
|
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
bueno, este pedaso es de una clase en un manual de php public function consulta($consulta) { $this->resultado = mysql_query($consulta,$this->descriptor); } public function extraer_registro() { return $fila; } else { return false; } }
bueno, el problema es que al intentar llamar el resultado de una consulta me da este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/np/www/SQL/index.php on line 29 alguna ayuda? Ademas, tendriamos que ver la consulta que haces, pon el code entero porfavor.
|
|
|
En línea
|
|
|
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
esta es la clase: <?php class Servidor_Base_Datos { private $servidor; private $usuario; private $pass; private $base_datos; private $descriptor; private $resultado; function __construct($servidor,$usuario,$pass,$base_datos) { $this->servidor = $servidor; $this->usuario = $usuario; $this->pass = $pass; $this->base_datos = $base_datos; $this->conectar_base_datos(); } private function conectar_base_datos() { $this->descriptor = mysql_connect($this->servidor,$this->usuario,$this->pass); } public function consulta($consulta) { $this->resultado = mysql_query($consulta,$this->descriptor); } public function extraer_registro() { return $fila; } else { return false; } } public function numero_filas() { } public function filas_afectadas() { } } ?>
y al hacer esto me da el error: <?PHP include("clase_mysql.php"); $servidor = "localhost"; $usuario = "root"; $pass = "---------"; $base_datos = "ejemplos"; $usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos); ?>
|
|
« Última modificación: 26 Julio 2009, 15:22 pm por Nphacks »
|
En línea
|
|-
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
Que yo sepa, tu recojes los datos y lo pasas a $this->... con la función __construct. Pero en cambio no recojes los datos con ninguna función.
EDIT: Además usuario lo repites, cuando es una variable que contiene datos.
|
|
« Última modificación: 26 Julio 2009, 15:57 pm por Erik# »
|
En línea
|
|
|
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
Que yo sepa, tu recojes los datos y lo pasas a $this->... con la función __construct. Pero en cambio no recojes los datos con ninguna función.
EDIT: Además usuario lo repites, cuando es una variable que contiene datos.
al hacer esto: $servidor = "localhost"; $usuario = "root"; $pass = "---------"; $base_datos = "ejemplos"; $usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos);
precisamente la linea $usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos);
me manda al __construct y almacena los datos, por eso los otros metodos(son las funciones, pero dentro de una clase se llaman metodos) hacen referencia a lo obtenido en el construct, por eso no pide ningun otro dato ecepto en $usuario->consulta($consulta) //en este se incluye la consulta que deseo hacer hacia la base de datos
pero aun asi lo que no entiendo es la causa del error :/
|
|
« Última modificación: 26 Julio 2009, 17:48 pm por Nphacks »
|
En línea
|
|-
|
|
|
Erik#
Desconectado
Mensajes: 1.138
Gundam
|
Pero postea todo lo que te dice cuando ejecutas ese archivo .php
|
|
|
En línea
|
|
|
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
solo me dice esto: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/np/www/SQL/index.php on line 29
|
|
|
En línea
|
|-
|
|
|
|
|