Foros del Web » Programando para Internet » PHP »

problema con PHP y MySQL

Estas en el tema de problema con PHP y MySQL en el foro de PHP en Foros del Web. Hola pues primero que nada debo desiros que apenas empieso en esto del php y que de base de datos solo se lo basico (Crear ...
  #1 (permalink)  
Antiguo 11/05/2004, 22:08
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 259
Antigüedad: 14 años, 2 meses
Puntos: 2
problema con PHP y MySQL

Hola pues primero que nada debo desiros que apenas empieso en esto del php y que de base de datos solo se lo basico
(Crear tablas, Base de datos, Insertar Valores, Seleccionarlos).

Y bueno pues pense que eso me seria suficiente para empezar con el php, y bien me lance no eh leido mucho pero quise empezar estudiando un manual de como crear un sistema de usuarios para my pagina que lo encontre en esta url...

http://maestrosdelweb.com/editorial/phpreusr/

Y bien empese a estudiarlo pero solo segui las indicaciones y bueno donde tube mis primeros problemas fue con eso de las cookies ya que el link que el proporsiona para saber mas de ello no funciona pues tube que omitirlo pensando que no seria de mucha importancia si seguia los pasos tal cual decia...

Y bueno pues lo hice pero al probar todo ello me encontre con my primer problema:

Al entrar a la pagina donde tenia que poner my nick y pass ( quise probar primero aca para ver que pasaba ya que aun no me avia registrado ) me salio el siguiente error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\miweb\info\ingresar.php on line 42

Usuario no existente en la base de datos

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in D:\miweb\info\ingresar.php on line 65

Como ven pues me dio el mensaje obiamente de "Usuario no existente en la base de datos" pero porque me tiro los demas errores de "Warning" que fue lo que paso ...

Ya que lo unico que le agregue al codigo de "ingresar.php" Fue my conexion a my base de datos asi:

<?php

$host = "localhost";
$user = "orochies";
$password = "My_pass";

/* Conectando al servidor local de MySQL */

$mysql = mysql_connect($host, $user, $password)
or exit();


function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "Debe llenar como minimo los campos de email y password";
}
mysql_close();
?>


Y lo demas como podran ver no le altere nada ( ¿Tendria que averlo hecho? ) ...

Y hantes que todo esto ya habia creado la tabla cual decia el tutorial en la base de datos asi:

CREATE TABLE usuarios (
id bigint(7) NOT NULL auto_increment,
nick char(100) NOT NULL,
password char(100) NOT NULL,
nombre char(255) default NULL,
email char(100) default NULL,
KEY id (id))

My unica duda es que en el codigo que crea la tabla esta este campo en la primer linea:

id bigint(7) NOT NULL auto_increment,

¿Para que me servira esto si no se declara en el formulario de envio a la base de datos solo esta declarado ( nick, password, nombre, email, )...?

Y bien pues hasta ahora es my primer problema al querer crear mi identificacion de usuarios...

AHHHH... y Otra duda es que en la conexion a la base de datos:

$host = "localhost";
$user = "orochies";
$password = "My_pass";

/* Conectando al servidor local de MySQL */

$mysql = mysql_connect($host, $user, $password)
or exit();


No visualiso una conexion especifica al nombre de una base de datos...

Este puede ser el problema espero me puedan ayudar...

Y bien por ahora es todo espero que alguien estudie el tutorial
y pueda aclararlo correctamente...

http://maestrosdelweb.com/editorial/phpreusr/

Espero no haber olvidado algo Es todo bye...
__________________
QMD...
  #2 (permalink)  
Antiguo 11/05/2004, 23:40
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
siempre que tengas esa clase de errores (not a valida mysql result) es que el error esta al seleccionar la base de datos, o al hacer la consulta. En este caso al parecer es precisamente por que no seleccionaste una base de datos...
tu tienes esto:

$host = "localhost";
$user = "orochies";
$password = "My_pass";

$mysql = mysql_connect($host, $user, $password)
or exit();

te hace falta inmediatamente después esto:
mysql_select_db("nombre_base_datos",$mysql);

suerte, saludos...
  #3 (permalink)  
Antiguo 12/05/2004, 22:55
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 259
Antigüedad: 14 años, 2 meses
Puntos: 2
Gracias por tu pronta respuesta lo tomare en cuenta bye...
__________________
QMD...
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 00:57.