Foros del Web » Programando para Internet » PHP »

Gente... Esto es una pabada... Necesito Ayuda

Estas en el tema de Gente... Esto es una pabada... Necesito Ayuda en el foro de PHP en Foros del Web. Bueno, gente, tengo un problema, quiero leer una base de datos mysql, llamada char del ragnarok, ago un $query ago un fetch_array y free_result, pero ...
  #1 (permalink)  
Antiguo 28/04/2006, 11:40
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
Gente... Esto es una pabada... Necesito Ayuda

Bueno, gente, tengo un problema, quiero leer una base de datos mysql, llamada char del ragnarok, ago un $query ago un fetch_array y free_result, pero no me funka, e probado con otras tablas, y funciona, no me deja mostrar char.... no se porque.... alguien ayuda porfa.... el problema:

no puedo leer una tabla, pero otras tablas me las lee
  #2 (permalink)  
Antiguo 28/04/2006, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
DEBES siempre que hables de cosas .. exponer el -código- que usas .. no puedes indicar lo que "mas o menos haces" .. así no hay forma de indicarte si tu código es correcto o que cosas hacer para verificar por donde falla dicho código.

Por otro lado .. disculpa pero como yo habrá mucha gente que no sabe que es "char" (es una Base de datos? .. o una tabla? .. que es eso) y menos "ragnarok" (disculpa mi ignorancia al respecto) .. Pero si que habrá gente que domine PHP y Mysql en general .. Por eso ya que preguntas en un foro "general" de PHP Y msyql .. expón mejor la estructura de esa tabla si corresponde (no haría falta ni decir de donde sale o que programa/aplicación la gestiona).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 28/04/2006, 12:13
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
Okas

Bueno, el "char" es una tabla, pero php no me la lee, las otras tablas las lee todas.... ragnarok es un juego online... y aca les dejo es scripts:

Código PHP:
<link href="framecss.css" rel="stylesheet" type="text/css"> <table width="785" border="0" cellpadding="0" cellspacing="0" class="framecss">
  <!--DWLayoutTable-->
  <tr> 
    <td width="307" height="19" valign="top">Nombre</td>
    <td width="203" valign="top">Nivel</td>
    <td width="275" valign="top">Nivel Job</td>
  </tr>
  <?
include ("config.php");
$link mysql_connect ("$host","$usuario","$password");
mysql_select_db ("$ragnarok",$link);
$query mysql_query ("select * from char limit 100",$link);
while (
$row=mysql_fetch_array($query)){
echo 
'<tr><td>' .$row["name"].'</td>';
echo 
'<td>' .$row["base_level"].'</td>';
echo 
'<td>' .$row["job_level"].'</td></tr>';
}
mysql_free_result ($query);
?>
</table>
  #4 (permalink)  
Antiguo 28/04/2006, 14:04
 
Fecha de Ingreso: octubre-2004
Ubicación: Lima, Perú
Mensajes: 185
Antigüedad: 19 años, 5 meses
Puntos: 1
Estas seguro que tu tabla esta en la base de datos?
  #5 (permalink)  
Antiguo 28/04/2006, 15:41
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 3 meses
Puntos: 1
Seguro que se conecta correctamente a la BD, por que no compruebas que se conecta a la bd, que se ejecuta la sentencia correctamente.
Ejemplo:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('No se pudo conectar: ' . mysql_error());
}

otro ejemplo:

$query = mysql_query ("select * from char limit 100",$link) or die ('No se pudo ejecutar la query');

y porcierto, no es necesario pero digamos que normalmente a las variables se le deben dar nombres que sean descriptivos, quiero decir con eso que mysql_query no devuelve una query, devuelve un resultado, un resource id, sera mejor $result. Es mas que nada para no mezclar los conceptos!!

Pero bueno basicamente comprueba con la funcion die() que se esta conectando al host, a la bd y a la tabla que dices que se llama "char"
__________________
SaRvErOk :ojotes:
  #6 (permalink)  
Antiguo 28/04/2006, 15:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
y porcierto, no es necesario pero digamos que normalmente a las variables se le deben dar nombres que sean descriptivos, quiero decir con eso que mysql_query no devuelve una query, devuelve un resultado, un resource id, sera mejor $result. Es mas que nada para no mezclar los conceptos!!
Totalmente deacuerdo .. distes en el "clavo" ..

También deacuerdo con el tema de "forzar" ver los mensajes de error que pueda emitir mysql usando mysql_error() bajo las funciones que usas (con un "or die" o un "if()" .. sea como sea PHP no arroja mensajes de error própios de Msyql como de SQL o conexión .. a lo sumo "revienta" por tipo de datos y demás con otro mensaje que no es "coherente" a lo que realmente pasa ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 29/04/2006, 08:22
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
Bueno. Probe Todo... Les Cuento Que Hace...
Se Conecta a la DB, pero es como que no se conecta a la tabla.. no se como explicarlo

La DB Funciona, pero el $result. no funka.

me tira error de mysql_fetch_array... y free_result

la sintaxis del codigo es este
<?
include ("configuracion.php");
$link = mysql_connect ("$host","$usuario","$password") or die ("No Se Conecto");
mysql_select_db ("$ragnarok",$link);
$result = mysql_query ("select * from char",$link) or die ("No se llevo a Cabo la sentencia";

while ($row=mysql_fetch_array($result)){
echo $row["name"];
echo $row["level"];
}
mysql_free_result ($result);
?>
  #8 (permalink)  
Antiguo 29/04/2006, 08:23
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
el error que tira es:
"no se llevo a cabo la sentencia"

es como si no tuviera acceso.... no entiendo....
  #9 (permalink)  
Antiguo 29/04/2006, 08:51
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 3 meses
Puntos: 1
Sabes que en tu codigo faltaba cerrar un parentesis en el die del mysql_query, ... bueno no es por eso, por lo que te da el error, sino ya te daria el interprete un error.
Bueno yo diria que si un select tan simple te da error quizá sea por que no existe la tabla a la que pretendes entrar o bien no tienes permisos suficientes para lanzar una consulta sobre esa tabla de la BD.
Supongo que tu no seras el administrador de la BD ni nada de eso?? Aunque bueno si es asi, pues puedes entrar con phpmyadmin si es que lo tienes instalado o con algun cliente para ver la estructura de tu BD.
Yo lo que haria es asegurarme de que la tabla a la que pretendo entrar existe, asi que puedes si no tienes nada de lo anterior ejecutar un este script en tu servidor para obtener todas las tablas de la bd:
La sintaxis de SHOW TABLE ES: SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
Código PHP:
 //EJEMPLO
mysql_connect('localhost','root','');
$result mysql_query('SHOW TABLE STATUS FROM '.$db_name);
while(
$array mysql_fetch_array($result)) {
$total $array['Data_length']+$array['Index_length'];
echo 
'
Table: '
.$array['Name'].'<br />
Data Size: '
.$array['Data_length'].'<br />
Index Size: '
.$array['Index_length'].'<br />
Total Size: '
.$total.'<br />
Total Rows: '
.$array['Rows'].'<br />
Average Size Per Row: '
.$array['Avg_row_length'].<br /><br /> 
Bueno adecualo a tus circunstancias y a tu manera de escribir php, como ves a mi me gusta hacerlo con comillas simples y con el "." como concatenacion de variables y prueba si te da algun resultado!!! Debe mostrar todas las tablas de tu BD
__________________
SaRvErOk :ojotes:
  #10 (permalink)  
Antiguo 29/04/2006, 09:17
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
me tira este error

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\prueba.php on line 5
  #11 (permalink)  
Antiguo 29/04/2006, 09:19
 
Fecha de Ingreso: abril-2006
Mensajes: 119
Antigüedad: 18 años
Puntos: 0
te digo
que
la tabla aparece en la lista de tablas de la bd

mira aca te dejo un link con el archivo .sql para crear la tabla
si podes pobra haber si te funka lo que yo hice
a mi no me funka

http://rapidshare.de/files/19200114/main.sql.html
  #12 (permalink)  
Antiguo 29/04/2006, 12:43
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 3 meses
Puntos: 1
Cierto, parece que esta todo bien.
Que version tienes instalada del AppServ?
Quiza tengas instalada en tu version del AppServ una version antigua de MySQL.
Has actualizado el AppServ una vez instalado? o es el pack por defecto?
__________________
SaRvErOk :ojotes:
  #13 (permalink)  
Antiguo 29/04/2006, 20:49
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
¿No estará acá el error?

mysql_select_db ("$ragnarok",$link);

Estás indicándole que busque una base cuyo nombre está definido en la variable $ragnarok (variable que probablemente no exista), pero me parece que lo que intentás es decirle que la base se llama "ragnarok". En conclusión, probá cambiar "$ragnarok" por "ragnarok".

Suerte
Califa
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:14.