Foros del Web » Programando para Internet » PHP »

Problema al utilizar query en pear db

Estas en el tema de Problema al utilizar query en pear db en el foro de PHP en Foros del Web. Hola recien empiezo con las bases de datos y me paso un problema : El codigo es este: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php ...
  #1 (permalink)  
Antiguo 03/06/2012, 23:41
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Problema al utilizar query en pear db

Hola recien empiezo con las bases de datos y me paso un problema :
El codigo es este:
Código PHP:
Ver original
  1. <?php
  2. require ("DB.php");
  3. $db = DB::connect("mysql://usuario:contraseña@host/a3458175_prueba");
  4. if(DB::isError(db)) { die("No se puede conectar: " . $db->getMessage());}else {print "bien";}
  5. $q = $db->query("INSERT * INTO platos (
  6.     dish_id,
  7.     dish_name,
  8.     price,
  9.     is_spicy
  10. ) VALUES ()");
  11. if (DB::isError($q)) { die("Query error: " . $q->getMessage()); }
  12.  
  13.  
  14. ?>

Y me da el siguiente error cuando esta subido a 000webhost.com

Fatal error: Call to undefined method DB_Error::query() in /home/a3458175/public_html/prueba.php on line 5

Me conecta bien con la base de datos pero luego al usar el query en la linea 5 me da error!

Alguien sabe porque me pasa esto?
O como tengo que solucionar el problema ?
  #2 (permalink)  
Antiguo 04/06/2012, 10:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

Creo que lo que debes de comparar es PEAR::isError, no DB::isError ¿no?.
  #3 (permalink)  
Antiguo 04/06/2012, 12:18
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
Creo que lo que debes de comparar es PEAR::isError, no DB::isError ¿no?.
De esto no lo se pero el problema esta en la linea 5 donde query

Gracias y un saludo
  #4 (permalink)  
Antiguo 04/06/2012, 12:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

Por eso mismo, debes de usar PEAR::isError para entrar al if del error e imprimir el mensaje...
  #5 (permalink)  
Antiguo 04/06/2012, 12:48
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
Por eso mismo, debes de usar PEAR::isError para entrar al if del error e imprimir el mensaje...
Asi :

Código PHP:
Ver original
  1. <?php
  2. require ("DB.php");
  3. $db = DB::connect("mysql://usuario:pw@host/a3458175_prueba");
  4. if(PEAR::isError(db)) { die("No se puede conectar: " . $db->getMessage());}else {print "bien";}
  5. $q = $db->query("INSERT * INTO platos (
  6.     dish_id,
  7.     dish_name,
  8.     price,
  9.     is_spicy
  10. ) VALUES ()");
  11. if (PEAR::isError($q)) { die("Query error: " . $q->getMessage()); }
  12.  
  13.  
  14. ?>
?
Gracias
  #6 (permalink)  
Antiguo 04/06/2012, 13:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

¿ya lo probaste?
  #7 (permalink)  
Antiguo 04/06/2012, 14:05
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
¿ya lo probaste?
Si pero tampoco funciona
Me sale el mismo problema
Un saludo
  #8 (permalink)  
Antiguo 04/06/2012, 14:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

Es muy raro, prueba el ejemplo que ponen en la documentación:
Código PHP:
Ver original
  1. <?php
  2. // Create a valid DB object named $db
  3. // at the beginning of your program...
  4. require_once 'DB.php';
  5.  
  6. $db =& DB::connect('pgsql://usr:pw@localhost/dbnam');
  7. if (PEAR::isError($db)) {
  8.     die($db->getMessage());
  9. }
  10.  
  11. // Proceed with a query...
  12. $res =& $db->query('SELECT * FROM clients');
  13.  
  14. // Always check that result is not an error
  15. if (PEAR::isError($res)) {
  16.     die($res->getMessage());
  17. }

Ahora ya no es recomendado usar PearDB, yo te recomendaría que utilizaras PDO, es mucho más rápido y tiene soporte completo para PHP5.

Saludos.
  #9 (permalink)  
Antiguo 04/06/2012, 23:53
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
Es muy raro, prueba el ejemplo que ponen en la documentación:
Código PHP:
Ver original
  1. <?php
  2. // Create a valid DB object named $db
  3. // at the beginning of your program...
  4. require_once 'DB.php';
  5.  
  6. $db =& DB::connect('pgsql://usr:pw@localhost/dbnam');
  7. if (PEAR::isError($db)) {
  8.     die($db->getMessage());
  9. }
  10.  
  11. // Proceed with a query...
  12. $res =& $db->query('SELECT * FROM clients');
  13.  
  14. // Always check that result is not an error
  15. if (PEAR::isError($res)) {
  16.     die($res->getMessage());
  17. }

Ahora ya no es recomendado usar PearDB, yo te recomendaría que utilizaras PDO, es mucho más rápido y tiene soporte completo para PHP5.

Saludos.

Gracias por tu respuesta
Bueno yo empeze con pear db porque estoy aprendiendo php5 de un libro y en la parte de las bases de datos esta lo de pear db .
Me puedes decir algun manual sobre PDO ?
Pero que hace :
'SELECT * FROM clients'

?
Selexiona una base ?
Un saludo
  #10 (permalink)  
Antiguo 06/06/2012, 06:32
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Es para selexionar base o para que sirve?
  #11 (permalink)  
Antiguo 06/06/2012, 09:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

Si no sabes que hace SELECT * FROM clients creo que primero debes de leer acerca de SQL ya que es la base cuando trabajas con bases de datos, si estas aprendiendo PHP, yo te recomendaría pausaras un poco lo de PHP, lee sobre Bases de Datos Relacionales, para que entiendas como funcionan y como funciona el Lenguaje SQL, y posteriormente reanudes tu libro de PHP con unas bases más solidas que te van a evitar muchos dolores de cabeza.

Saludos.
  #12 (permalink)  
Antiguo 06/06/2012, 10:18
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
Si no sabes que hace SELECT * FROM clients creo que primero debes de leer acerca de SQL ya que es la base cuando trabajas con bases de datos, si estas aprendiendo PHP, yo te recomendaría pausaras un poco lo de PHP, lee sobre Bases de Datos Relacionales, para que entiendas como funcionan y como funciona el Lenguaje SQL, y posteriormente reanudes tu libro de PHP con unas bases más solidas que te van a evitar muchos dolores de cabeza.

Saludos.
Gracias , lo voy a hacer :)
  #13 (permalink)  
Antiguo 06/06/2012, 10:27
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 6 meses
Puntos: 29
Respuesta: Problema al utilizar query en pear db

Cita:
Iniciado por GatorV Ver Mensaje
Si no sabes que hace SELECT * FROM clients creo que primero debes de leer acerca de SQL ya que es la base cuando trabajas con bases de datos, si estas aprendiendo PHP, yo te recomendaría pausaras un poco lo de PHP, lee sobre Bases de Datos Relacionales, para que entiendas como funcionan y como funciona el Lenguaje SQL, y posteriormente reanudes tu libro de PHP con unas bases más solidas que te van a evitar muchos dolores de cabeza.

Saludos.
Pero una cosa :
Es igual Las bases de datos(mysql) de Access2000 que mysql o sql
y mysql que sql
?
  #14 (permalink)  
Antiguo 06/06/2012, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 2 meses
Puntos: 2135
Respuesta: Problema al utilizar query en pear db

No son iguales, son diferentes motores, y aunque pueden usar SQL, no todas siguen el estándar ANSI de SQL, por lo que puede que encuentres una que otra diferencia, pero en la base sí es el mismo SQL, solo el motor es diferente y pues tienen muchas diferencias ya internas.

Repito es mucho mejor que ahorita cambies tu enfoque de PHP y aprendas sobre bases de datos para que puedas retomar en un futuro PHP.

Saludos.
  #15 (permalink)  
Antiguo 06/06/2012, 10:31
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 2 meses
Puntos: 394
Respuesta: Problema al utilizar query en pear db

SQL es un estandar para realizar consultas a las bases de datos.

Por eso si haces un SELECT * FROM una_tabla ya sea en MySQL o MSSql este funcionara sin problemas.

La diferencia radica en la forma en que almacenan y manejan la informacion y que unos tienes otras operaciones que los otros no.

Busca en internet comparativas entre motores de Bases de Datos que hay mucha informacion.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: pear, pear-db, query, bases-de-datos
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 12:27.