Foros del Web » Programando para Internet » PHP »

Warning: mysql_fetch_row()

Estas en el tema de Warning: mysql_fetch_row() en el foro de PHP en Foros del Web. Hola amigos: Esta es mi situación: Cambie de servidor de hosting parami sitio web, y al hacer el cambio surgieron algunos detalles que se fueron ...
  #1 (permalink)  
Antiguo 21/06/2009, 09:38
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Warning: mysql_fetch_row()

Hola amigos:

Esta es mi situación: Cambie de servidor de hosting parami sitio web, y al hacer el cambio surgieron algunos detalles que se fueron resolviendo pero me quedo este, ya tengo algunos días y no encuentro como solucionarlo, un usuario me dice que normalmente mi error no es producido por la sintaxis de MySql, sino por la de PHP, ojala me puedan ayudar.

Aquí el código:

mysql_select_db("ancestre_db", $link);
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1

$result = mysql_query("SELECT COUNT(id) FROM playeras WHERE genero = '$tipo' AND status = '1'", $link);
list($total) = mysql_fetch_row($result);

$result = mysql_query("SELECT * FROM playeras WHERE genero = '$tipo' AND status = '1' ORDER BY id DESC", $link);

$resGenero = mysql_query("SELECT * FROM playeras WHERE genero = '$tipo' AND status = '1' ORDER BY id DESC", $link);

$rowGenero = mysql_fetch_row($resGenero);

A esta ultima línea le modifique por algo que me recomendaron y quedo así:
if(! $rowGenero = mysql_fetch_row($resGenero)){echo mysql_error();}

Creo que es con el fin de ver mas información del error, y lo que aparece ahora es:
No DataBase Selected.


Alguna idea de como puedo resolver este problema, pueden verlo por si mismo en ancestre.com.mx al tratar de ver el catalogo de productos.

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 21/06/2009, 09:45
 
Fecha de Ingreso: agosto-2005
Mensajes: 14
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_row()

No se si será esto exactamente, pero creo que la forma correcta de esa línea seria:

if(! ($rowGenero = mysql_fetch_row($resGenero))) {echo mysql_error();}
  #3 (permalink)  
Antiguo 21/06/2009, 09:56
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: Warning: mysql_fetch_row()

if(!mysql_select_db("ancestre_db", $link)) die('no se puede seleccionar la base de datos'. mysql_error());

recomiendo a todo el mundo que para conexiones con bases de datos usen la API: mysqli
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter
  #4 (permalink)  
Antiguo 21/06/2009, 10:31
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_row()

jaao_death:

si muere ahi mi conexión que hago, esto me sale ahora:

no se puede seleccionar la base de datosAccess denied for user: 'ancestre@localhost' to database 'ancestre_db'
  #5 (permalink)  
Antiguo 21/06/2009, 10:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Warning: mysql_fetch_row()

El error es que el usuario que estas usando no tiene permiso para entrar a esa base de datos, revisa con tu hosting.

Saludos.
  #6 (permalink)  
Antiguo 21/06/2009, 10:42
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_row()

GatorV:
Estoy usando el usuario Master, tiene todos los privilegios a la base de datos.
¿Alguna manera de ... no sé... comprobar que mi usuario este funcionando bien?
Creo que puedo estar cerca de la solución, pero todavía no la veo. Gracias por si ayuda.
  #7 (permalink)  
Antiguo 21/06/2009, 10:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Warning: mysql_fetch_row()

Pues no, de hecho el usuario "Master" es root, tu estas usando otro usuario (ancestre), necesitas pedirle a tu administrador de la base de datos que le de acceso a tu usuario (ancestre) a esa base de datos (ancestre_db).

Saludos.
  #8 (permalink)  
Antiguo 21/06/2009, 10:56
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_row()

Mira te paso lo que dice mi panel:

DB Name: ancestre_db
My SQL User: ancestre
Privileges: Master user

Por cierto yo soy el administrador, bueno yo puedo entrar a administrar mi base de datos.
¿Algo mas que pueda hacer?
  #9 (permalink)  
Antiguo 21/06/2009, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Warning: mysql_fetch_row()

Tienes que autorizar al usuario, usualmente es el comando GRANT, pero si no tienes acceso SQL seguramente el panel que usas debe de tener una opción para autorizar usuarios.

Saludos.
  #10 (permalink)  
Antiguo 21/06/2009, 12:09
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Cree otra cuenta y le di todos los privilegios: insert, update, delete, create, etc.
Y ahora no puedo ni entrar, solo con el usuario master es con el unico que entro a la base aparentemente, pues con el unico que no me sale el error:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'yo@localhost' (Using password: YES) in /home/ancestre/www/www/modelos.php on line 112

User ancestre has 2 of 50 maximum allowed MySQL users:
ancestre (Master User)
yo

Alguien me decia que quiza los comandos de php no eran compatibles con el nuevo servidor, no entiendo muy bien, pero ira por ahi, o de plano no estoy dando acceso al usuario a la base de datos, ya le busque en todo el panel y no encuentro otro lugar para dar acceso al usuario

Sera esto?

DB Master Username: ancestre. User ancestre has 1 of 10 maximum allowed DBs.
You can manipulate your DBs with phpMyAdmin (log in)

encontre ese mensajito en el panel. y bueno creo que tengo en el usuario ancestre 2 bases de datos:
. ancestre_db
. information_schema

¡YA PUDE!

En lugar de:
$link = mysql_connect("localhost", "ancestre", "passwd");

Puse:

$link = mysql_connect("localhost:/tmp/mysql5.sock", "ancestre", "passwd");


¡Y FUNCIONÓ!
Muchas gracias y ojala esta experiencia le sirva a alguien mas.

Última edición por GatorV; 21/06/2009 a las 15:41
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 15:07.