Bases de Datos > MySQL
Problemas Con Mysql En Php !!!!
Diabliyo:
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 ---<html> <head> <title>Aprendiendo PHP</title> </head> <body> <center> <form action="insertar.php" method="POST" name="comentarios"> <table cellpadding="5" cellspacing="10" border="0"> <td>Nick: </td><td><input type="text" size="30" name="txtnick"></td><tr> <td>E-Mail: </td><td><input type="text" size="30" name="txtemail"></td><tr> <td colspan="2">Comentario:<br><textarea rows="10" cols="60" name="txtcomentario"></textarea></td><tr> <td colspan="2" align="center"><input type="submit" value="Enviar"></td> </table> </form> </center> <p align="center"><b>MESAJES HASTA AHORA</b></p> <?php $server= "localhost"; $user= "root"; $pass= "mipass"; $base= "td_inicia"; $id= mysql_connect( $server, $user, $pass ); <------------ War 23 mysql_select_db( $base, $id ); <------------ War 24 $consulta= 'select nick, email, mensaje from td_inicia;'; $id_consulta= mysql_query( $consulta, $id ); <------------ War 26 $nfilas= mysql_num_rows( $id_consulta ); <------------ War 27 ?> <center> <table cellpadding="4" cellspacing="3" border="0" bgcolor="#7BA9E8"> <?php for( $i=0; $i<$nfilas; $i++ ) { $respuesta= mysql_fetch_array( $id_consulta ); print( "<tr>" ); print( "<td>Nick: ". $respuesta['nick']. "</td>" ); print( "<td>email: ". $respuesta['email']. "</td>" ); print( "<tr><td colspan=2>". $respuesta['mensaje']. "</td>" ); } ?> </table> </center> </body></html>
Me marca estos Warnings ( ya estan marcados en el codigo de arriba ):
--- Código: Text ---Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\web\index.php on line 23 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\web\index.php on line 24 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\web\index.php on line 26 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\web\index.php on line 27
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:
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 ---<html> <head> <title>Aprendiendo PHP</title> </head> <body> <center> <form action="insertar.php" method="POST" name="comentarios"> <table cellpadding="5" cellspacing="10" border="0"> <td>Nick: </td><td><input type="text" size="30" name="txtnick"></td><tr> <td>E-Mail: </td><td><input type="text" size="30" name="txtemail"></td><tr> <td colspan="2">Comentario:<br><textarea rows="10" cols="60" name="txtcomentario"></textarea></td><tr> <td colspan="2" align="center"><input type="submit" value="Enviar"></td> </table> </form> </center> <p align="center"><b>MESAJES HASTA AHORA</b></p> <?php $server= "localhost"; $user= "root"; $pass= "mipass"; $base= "tradudark_db"; $id= @mysql_connect( $server, $user, $pass ); @mysql_select_db( $base, $id ); $consulta= 'select nick, email, mensaje from td_incia;'; $id_consulta= @mysql_query( $consulta, $id ); $nfilas= @mysql_num_arrow( $id_consulta ); ?> <center> <table cellspacing="2" cellpadding="2" border="0"> <?php for( $i=0; $i<$nfilas; $i++ ) { $resp= @mysql_fetch_array( $id_consulta ); print( "<tr><td>Nick: ". $resp["nick"]. "</td>" ); print( "<td>Email: ". $resp["email"]. "</td><tr>" ); print( "<td colspan=2>". $resp["mensaje"]. "</td><tr>" ); } ?> </table> </center> </body></html>
Gracias de antemano !!
byeeee
Avalon:
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:
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 ---<?phpfunction conectar() { if( !($link= @mysql_connect( "localhost", "root", "diabliyo14" ) ) ) { print( "<br><u><b>No se puede conectar a la Base de Datos.</b></u><br>" ); exit(); } if ( !( mysql_select_db( "tradudark", $link ) ) ) { print( "<br><u><b>No se puede seleccionar la base de datos.</b></u><br>" ); exit(); } return $link; }?>
Bueno espero que me puedan ayudar !!
byeee
Diabliyo:
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
Navegación
[#] Página Siguiente
Ir a la versión completa