Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

error mysql

Estas en el tema de error mysql en el foro de Mysql en Foros del Web. este es el codigo: <? $server="localhost"; /* Nuestro server mysql */ $database="bd"; /* Nuestra base de datos */ $dbpass="mallorca"; /*Nuestro password mysql */ $dbuser="tomeu"; /* ...
  #1 (permalink)  
Antiguo 28/07/2008, 08:44
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
error mysql

este es el codigo:

<?
$server="localhost"; /* Nuestro server mysql */
$database="bd"; /* Nuestra base de datos */
$dbpass="mallorca"; /*Nuestro password mysql */
$dbuser="tomeu"; /* 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, email) VALUES ('$login','$nombre','$apellidos','$pass1','$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...) */
?>

ESTE ES EL ERROR:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /Users/Tomeu/Sites/usurs1/crea_user.php on line 12

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /Users/Tomeu/Sites/usurs1/crea_user.php on line 16

Usuario introducido correctamente
  #2 (permalink)  
Antiguo 28/07/2008, 10:44
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Sonrisa Respuesta: error mysql

Probe el Script que tienes y todo funciona perfecto.

Asegurate que la tabla "usuarios" realmente exista.
  #3 (permalink)  
Antiguo 28/07/2008, 12:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

Muchas gracias taldreakan. Ahora miraré a ver que tal.
  #4 (permalink)  
Antiguo 28/07/2008, 12:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

Si, la tabla usuarios esta creada. No sé el porqué de este error. esta es la direccion de donde he sacado el codigo. Si lo quieres probar y me dices cosas. http://www.programacionweb.net/articulos/articulo/?num=35
a ver si con el formulario y eso te funciona.

Gracias por todo
  #5 (permalink)  
Antiguo 28/07/2008, 13:07
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: error mysql

Prueba con esto:

<?
$server = "localhost"; /* Nuestro server mysql */
$database = "bd"; /* Nuestra base de datos */
$dbpass = "mallorca"; /*Nuestro password mysql */
$dbuser = "tomeu"; /* Nuestro user mysql */

$link = mysql_connect($server,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($database);

/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
$query = "SELECT * FROM usuarios WHERE login='$login'";
$result = mysql_query($query, $link) or die(mysql_error());

?>

Nota: La función mysql_db_query() es obsoleta desde PHP 4.0.6 no use esta función. Use mysql_select_db() y mysql_query().Note: Esta función es obsoleta desde PHP 4.0.6 no use esta función. Use mysql_select_db() y mysql_query().

REFERENCIA: http://www.php.net/manual/es/function.mysql-db-query.php
  #6 (permalink)  
Antiguo 28/07/2008, 13:19
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

Los errores aquellos ya no salen, ahora me dice: no database selec.

gracias
  #7 (permalink)  
Antiguo 28/07/2008, 13:24
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: error mysql

Revisa el codigo:

<?
$server = "localhost"; /* Nuestro server mysql */
$database = "bd"; /* Nombre de base de datos (El nombre que le diste) */
$dbpass = "mallorca"; /*Nuestro password mysql */
$dbuser = "tomeu"; /* Nuestro user mysql */

$link = mysql_connect($server,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($database ); // Aqui seleccionamos la base de datos

/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
$query = "SELECT * FROM usuarios WHERE login='$login'";
$result = mysql_query($query, $link) or die(mysql_error());

?>

Haz esos cambios haber que pasa
  #8 (permalink)  
Antiguo 28/07/2008, 14:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

sigue diciendo lo mismo: no database selected. El codi de crea_user.php me queda asi:

<?
$server = "localhost"; /* Nuestro server mysql */
$database = "bd"; /* Nombre de base de datos (El nombre que le diste) */
$dbpass = "mallorca"; /*Nuestro password mysql */
$dbuser = "tomeu"; /* Nuestro user mysql */

$link = mysql_connect($server,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($database); // Aqui seleccionamos la base de datos

/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
$query = "SELECT * FROM usuarios WHERE login='$login'";
$result = mysql_query($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, email) VALUES ('$login','$nombre','$apellidos','$pass1','$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...) */
?>
  #9 (permalink)  
Antiguo 28/07/2008, 14:28
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: error mysql

Sustituye la linea correspondiente por esto:

mysql_select_db($database) or die(mysql_error());

y asegurate que $database en realidad guarda el nombre de tu base de datos.
  #10 (permalink)  
Antiguo 28/07/2008, 14:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

Perfecto.Funciono todo Ok! muchisimas gracias.
  #11 (permalink)  
Antiguo 28/07/2008, 14:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

PERDONA, NO TODO FUNCIONA! JEJE
me dice : que no existe db.usuarios. Pero eso ya debe ser un problema de my servidor de base de datos, no?
  #12 (permalink)  
Antiguo 28/07/2008, 14:58
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: error mysql

Crea la tabla usuarios con la estructura que requieres.
  #13 (permalink)  
Antiguo 28/07/2008, 15:05
 
Fecha de Ingreso: mayo-2006
Mensajes: 36
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: error mysql

Si, esta bien creada. No sé que puede ser. Muchas Gracias por todo
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 16:49.