• Sábado 4 de Mayo de 2024, 05:06

Autor Tema:  Problemas Con Mysql En Php !!!!  (Leído 3871 veces)

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Problemas Con Mysql En Php !!!!
« en: Lunes 27 de Diciembre de 2004, 21:54 »
0
Hola:

Soy nuevo aun, asi que he echo mi primer aplicacion que es un tipo LIBRO DE COMENTARIOS... se que no esta perfecto ni nada, que no esta ocultado lo que NO se debe de ver ( pass y basedd ), pero quiero primero verque mis codigos compilen y jalen bien, despues buscare el mejoramiento mas avanzado...  Por ahora me trabe aqui en mi LIBRO DE COMENTARIOS... nose porke...chequen mi codigo..

Código: Text
  1. <html>
  2.   <head>
  3.   <title>Aprendiendo PHP</title>
  4.   </head>
  5.  
  6.   <body>
  7.   <center>
  8.   <form action="insertar.php" method="POST" name="comentarios">
  9.     <table cellpadding="5" cellspacing="10" border="0">
  10.     <td>Nick: </td><td><input type="text" size="30" name="txtnick"></td><tr>
  11.     <td>E-Mail: </td><td><input type="text" size="30" name="txtemail"></td><tr>
  12.     <td colspan="2">Comentario:<br><textarea rows="10" cols="60" name="txtcomentario"></textarea></td><tr>
  13.     <td colspan="2" align="center"><input type="submit" value="Enviar"></td>
  14.     </table>
  15.   </form>
  16.   </center>
  17.   <p align="center"><b>MESAJES HASTA AHORA</b></p>
  18.   <?php
  19.     $server= "localhost";
  20.     $user= "root";
  21.     $pass= "mipass";
  22.     $base= "td_inicia";
  23.     $id= mysql_connect( $server, $user, $pass );  <------------ War 23
  24.     mysql_select_db( $base, $id ); <------------ War 24
  25.     $consulta= 'select nick, email, mensaje from td_inicia;';
  26.     $id_consulta= mysql_query( $consulta, $id ); <------------ War 26
  27.     $nfilas= mysql_num_rows( $id_consulta ); <------------ War 27
  28.   ?>
  29.   <center>
  30.   <table cellpadding="4" cellspacing="3" border="0" bgcolor="#7BA9E8">
  31.   <?php
  32.     for( $i=0; $i<$nfilas; $i++ )
  33.       {
  34.       $respuesta= mysql_fetch_array( $id_consulta );
  35.       print( "<tr>" );
  36.       print( "<td>Nick: ". $respuesta['nick']. "</td>" );
  37.       print( "<td>email: ". $respuesta['email']. "</td>" );
  38.       print( "<tr><td colspan=2>". $respuesta['mensaje']. "</td>" );
  39.       }
  40.   ?>
  41.   </table>
  42.   </center>
  43.   </body>
  44. </html>
  45.  

Me marca estos Warnings ( ya estan marcados en el codigo de arriba ):

Código: Text
  1. Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\web\index.php on line 23
  2.  
  3. Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\web\index.php on line 24
  4.  
  5. Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\web\index.php on line 26
  6.  
  7. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\web\index.php on line 27
  8.  
  9.  

Segun me han dicho que el problema principal es el WAR que marca la linea 23, una vez se resuelva ese, los demas desapareceran...  El problema es que nose como solucionarlo, segun la sintaxis de Warning 23 es:

"el Cliente MySQL no puede soportar la autentificacion de los protocoles requeridos por el servidor, consiferese actualizar MySQL "...

NOTA: uso:  MySQL v4.1.7, Apache v1.3.33 y PHP v4.3.9

Gracias de antemano...

byeeeee

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #1 en: Martes 28 de Diciembre de 2004, 08:27 »
0
Hola:

He solucionado el problema, ahora si compila sin dar ERRORES ni WARNINGS, solo que ahi un problema, porke diablos no me muestra los mensajes que ya estan en la base de datos ????.....

Bueno para resolver el problema tuve que poner el simbolo @ al inicia de cada funcion de MySQL....

Bueno les voy a postear el codigo para ver si me pueden ayudar a ver porke NO me muestra mis datos almacenados en la basde de datos...

Nota: mi Base de datos se llama:  tradudark_db  y mi tabla se llama:  td_inicia   y ahi tengo 3 campos que son: nick, email y mensaje....

Código: Text
  1. <html>
  2.   <head>
  3.   <title>Aprendiendo PHP</title>
  4.   </head>
  5.  
  6.   <body>
  7.   <center>
  8.   <form action="insertar.php" method="POST" name="comentarios">
  9.   <table cellpadding="5" cellspacing="10" border="0">
  10.   <td>Nick: </td><td><input type="text" size="30" name="txtnick"></td><tr>
  11.   <td>E-Mail: </td><td><input type="text" size="30" name="txtemail"></td><tr>
  12.   <td colspan="2">Comentario:<br><textarea rows="10" cols="60" name="txtcomentario"></textarea></td><tr>
  13.   <td colspan="2" align="center"><input type="submit" value="Enviar"></td>
  14.   </table>
  15.   </form>
  16.   </center>
  17.   <p align="center"><b>MESAJES HASTA AHORA</b></p>
  18.   <?php
  19.   $server= "localhost";
  20.   $user= "root";
  21.   $pass= "mipass";
  22.   $base= "tradudark_db";
  23.  
  24.   $id= @mysql_connect( $server, $user, $pass );
  25.   @mysql_select_db( $base, $id );
  26.   $consulta= 'select nick, email, mensaje from td_incia;';
  27.   $id_consulta= @mysql_query( $consulta, $id );
  28.   $nfilas= @mysql_num_arrow( $id_consulta );
  29.   ?>
  30.   <center>
  31.   <table cellspacing="2" cellpadding="2" border="0">
  32.   <?php
  33.   for( $i=0; $i<$nfilas; $i++ )
  34.     {
  35.     $resp= @mysql_fetch_array( $id_consulta );
  36.     print( "<tr><td>Nick: ". $resp["nick"]. "</td>" );
  37.     print( "<td>Email: ". $resp["email"]. "</td><tr>" );
  38.     print( "<td colspan=2>". $resp["mensaje"]. "</td><tr>" );
  39.     }
  40.   ?>
  41.   </table>
  42.   </center>
  43.   </body>
  44. </html>
  45.  

Gracias de antemano !!

byeeee

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #2 en: Martes 28 de Diciembre de 2004, 08:54 »
0
Diabliyo, el poner el símbolo @ delante de cada función lo único que hace es evitar que se muestren los warnings, pero el problema sigue estando presente.

Pásate por el foro de PHP que allí se está hablando de este tema y ya se ha publicado la solución.

http://foros.solocodigo.com/index.php?showtopic=12805


Salu2,
Avalon

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #3 en: Miércoles 29 de Diciembre de 2004, 04:07 »
0
Hola:

Avalon el link a ese post creo que se parece pero NO... ya que el que puso ese post soluciono el problema corrigiendo una linea o lineas de codigo, osea de echo el mismo dice: " fue error mio " ....

Pero mi problema es conectando via HTTP hacia mi Base de Datos en MySQL... de echo uso este codigo simple y me tira: No se puede conectar a la Base de Datos.....

Código: Text
  1. <?php
  2. function conectar()
  3.   {
  4.   if( !($link= @mysql_connect( "localhost", "root", "diabliyo14" ) ) )
  5.     {
  6.     print( "<br><u><b>No se puede conectar a la Base de Datos.</b></u><br>" );
  7.     exit();
  8.     }
  9.   if ( !( mysql_select_db( "tradudark", $link ) ) )
  10.     {
  11.     print( "<br><u><b>No se puede seleccionar la base de datos.</b></u><br>" );
  12.     exit();
  13.     }
  14.   return $link;
  15.   }
  16. ?>
  17.  

Bueno espero que me puedan ayudar !!

byeee

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #4 en: Miércoles 29 de Diciembre de 2004, 04:44 »
0
Hola:

Sin mas que hacer, chece la info que me da la funcion:  phpinfo(); y note algo curioso en la parte de MySQL...

Chequen ESTA...

ayudaaa !! :kicking:

byeee

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #5 en: Miércoles 29 de Diciembre de 2004, 11:29 »
0
Cita de: "Diabliyo"
Avalon el link a ese post creo que se parece pero NO... ya que el que puso ese post soluciono el problema corrigiendo una linea o lineas de codigo, osea de echo el mismo dice: " fue error mio " ....
Hola Diabliyo, el error que solucionó Informix cambiando unas líneas de código era otro, pero tu primer warning no se soluciona por código sinó desde la línea de comandos de mysql como él indica en el primer mensaje de esa discusión.

Solucionando eso es posible que te desaparezcan el resto de warnings o al menos los que hacen referencia al MySQL-Link resource.

A ver si hay suerte.

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Problemas Con Mysql En Php !!!!
« Respuesta #6 en: Viernes 31 de Diciembre de 2004, 08:31 »
0
Hola:

Si Avalon, ya pude solucionar el problema para conectar, pero de echo la forma la hice PARECIDA, ya que la persona del LINK AL POST usaba la base de datos: mysql y modificaba datos de ahi dentro, lo que ami me resultaba error, ya que despues NO podia ingresar a mi Base de Datos con user: root y pass: mipass.... asi que tenia que RE-Instalar  MySQL...

Y bueno lo hice asi: entre a MySQL mysql -h localhost -u root -p, y ya dentro escribi este codigo:

Código: Text
  1. SET PASSWORD FOR user@localhost = OLD_PASSWORD('password');
  2.  

Y listo, pude conectar  a la Base de Datos y escojer mi tabla sin problemas...

Ahora el problema es que me muestra dos warnings, nose porke, .... el codigo se supone esta correcto, aqui estan los WANINGS:

Código: Text
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\web\index.php on line 23
  2.  
  3. Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\web\index.php on line 28
  4.  

Aqui esta el codigo...

Código: Text
  1. <?php
  2.   include ( "conectar.php" );
  3.   $link=conectar();
  4.   $consulta= mysql_query( "select * from tradudark", $link );
  5.   ?>
  6.   <table cellspacing="2" cellpadding="2" border="0">
  7.   <?php
  8.   while( $filas= mysql_fetch_array( $consulta ) )
  9.     {
  10.     print ( "<td>Nick: ". $filas["nick"]. "</td><td>Email: ". $filas["email"]. "</td><tr>" );
  11.     print( "<td colspan=2>". $filas["mensaje"]. "<td><tr>" );
  12.     }
  13.   mysql_free_result( $filas );
  14.   mysql_close( $link );
  15.   ?>
  16.   </table>
  17.  

Disculpen las molestias y gracias de antemano...

byeee