Foros del Web » Programando para Internet » PHP »

Warning: mysql_free_result(): supplied argument is not a valid MySQL

Estas en el tema de Warning: mysql_free_result(): supplied argument is not a valid MySQL en el foro de PHP en Foros del Web. hola kisiera saber cual es la posible causa de este error estoy trabajando con sesiones y deseo crear usuarios aski el codigo: <? $server="localhost"; /* ...
  #1 (permalink)  
Antiguo 17/05/2007, 02:41
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Sonrisa Warning: mysql_free_result(): supplied argument is not a valid MySQL

hola kisiera saber cual es la posible causa de este error estoy trabajando con sesiones y deseo crear usuarios aski el codigo:
<?
$server="localhost"; /* Nuestro server mysql */
$database="escuela"; /* Nuestra base de datos */
$dbpass=""; /*Nuestro password mysql */
$dbuser="user"; /* Nuestro user mysql */
/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */

$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(@mysql_num_rows($result)){
echo "El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo "Los passwords deben coincidir<br>";
echo 'Clica <a href="form.php">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2, "semilla");

/* Encripatmos el password, con la clave "semilla" que debeis sustituirpor la que mas os guste. Hay otros metodos de encriptacion, mirad en php.net si quereis conocerlos. */

$query="INSERT INTO usuarios (login, nombre, apellidos, password,telefono, email) VALUES ('$login','$nombre','$apellidos','$pass1','$tel',' $email')";

$result=mysql_db_query($database,$query,$link);
if(mysql_affected_rows($link)){
echo "Usuario introducido correctamente";
} else {
echo "Error introduciendo el usuario";
} /* Cierre del else */
} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
} /* Cierre del else que corresponde a if(mysql_num_rows...) */
?>
  #2 (permalink)  
Antiguo 17/05/2007, 06:16
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Warning: mysql_free_result(): supplied argument is not a valid MySQL

Trasladado de BD a PHP.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 17/05/2007, 10:05
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Warning: mysql_free_result(): supplied argument is not a valid MySQL

noto 2 cosas

1.- donde tomas el valor de $login para esto
Código PHP:
$query="SELECT * FROM usuarios WHERE login='$login'"
2.-$link no debe es estar aqui
Código PHP:
mysql_affected_rows($link
ya que el mysql_affected_row solo trabaja con update, insert o delete, creo que lo debes de poner así
Código PHP:
mysql_affected_rows($result
donde $result es tomado de aqui
Código PHP:
$result=mysql_db_query($database,$query,$link); 
suerte y saludos.

PD. ah!! se me olvidad, BIENVENIDA al foro
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 17/05/2007, 23:26
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Warning: mysql_free_result(): supplied argument is not a valid MySQL

hola gracias. . pero aun no encuentro el problema no puede ser asi por ke el argumento nisikiera lo acepta y ahora me dice ke se ha creado correctamemte pero no :( alguna otra observacion??
$query='SELECT * FROM usuarios WHERE login=\'$login\'';
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(@mysql_num_rows($result)){
echo "El usuario ya existe en la BD";
} else {
@mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo "Los passwords deben coincidir<br>";
echo 'Clica <a href="form.php">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2, "semilla");

/* Encripatmos el password, con la clave "semilla" que debeis sustituirpor la que mas os guste. Hay otros metodos de encriptacion, mirad en php.net si quereis conocerlos. */

$query='INSERT INTO usuarios (login, nombre, apellidos, password,telefono, email) VALUES (\'$login\',\'$nombre\',\'$apellidos\',\'$pass1\', \'$tel\',\'$email\')';

$result=mysql_db_query($database,$query,$link);
if(mysql_affected_rows($result)){
echo "Usuario introducido correctamente";
} else {
echo "Error introduciendo el usuario";
} /* Cierre del else */
} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
} /* Cierre del else que corresponde a if(mysql_num_rows...) */
?>
  #5 (permalink)  
Antiguo 18/05/2007, 08:29
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Warning: mysql_free_result(): supplied argument is not a valid MySQL

intenta con esto y si te da algún error, hazlo saber
Código PHP:
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass) or die (mysql_error());
$result=mysql_db_query($database,$query,$link) or die (mysql_error());
if(@
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";
} else {
@
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo 
"Los passwords deben coincidir<br>";
echo 
'Clica <a href="form.php">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2"semilla");

/* Encripatmos el password, con la clave "semilla" que debeis sustituirpor la que mas os guste. Hay otros metodos de encriptacion, mirad en php.net si quereis conocerlos. */

$query="INSERT INTO usuarios (login, nombre, apellidos, password,telefono, email) VALUES ('$login','$nombre','$apellidos','$pass1','$tel','$email')";

$result=mysql_db_query($database,$query,$link) or die (mysql_error());
if(
mysql_affected_rows($result)){
echo 
"Usuario introducido correctamente";
} else {
echo 
"Error introduciendo el usuario";
/* Cierre del else */
/* Cierre del else que corresponde a if(mysql_affected_rows.....) */
/* Cierre del else que corresponde a if(mysql_num_rows...) */ 
aunque insisto, no veo de donde tomas el valor de $login y de todos estos $nombre,$apellidos,$pass1,$tel,$email.
ejemplo:
$login=$_POST['login'];
y si es por get
$login=$_GET['login'];

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 01:34.