Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/02/2011, 03:37
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Problemas con PHP y Base de Datos

El primer error sobre oracle es evidente

mysql_connect

php tiene extensiones distintas para distintos moteres de bbdd usa la adequada al motor que quieras.

Creo que hay algun intento de crear una interfaz comun...

Código PHP:
Ver original
  1. $id_usuario=0;
  2.  
  3. ...
  4.  
  5. $guardar = "INSERT INTO usuario  (id_usuario, cuenta_usuario, password_usuario, email_usuario, sexo_usuario, tipo_usuario, pais_usuario, estado_usuario) VALUES ($id_usuario, '$cuenta_usuario', '$password_usuario', '$email_usuario', '$sexo_usuario', '$tipo_usuario', '$pais_usuario', '$estado_usuario')";
  6. mysql_query($guardar);

De entrada estas dando un valor fijo a $id_usuario=0 si el $id_usuario es autoincrement elimina esa linea y quita el campo del insert mysql se encargará de dar el valor.

Para poder ver posibles errores es aconsejable hacer lo siguiente

Código PHP:
Ver original
  1. $guardar = "INSERT INTO usuario (cuenta_usuario, password_usuario, email_usuario, sexo_usuario, tipo_usuario, pais_usuario, estado_usuario) VALUES ('$cuenta_usuario', '$password_usuario', '$email_usuario', '$sexo_usuario', '$tipo_usuario', '$pais_usuario', '$estado_usuario')";
  2. // **
  3. if(!mysql_query($guardar)){
  4. echo mysql_errno($con) . ": " . mysql_error($con) . "\n";
  5. }
** si mysql_query es falso te mostrarà el error de mysql

Si no da error de conexión debemos suponer que ha conectado con los datos que nos pones

Código PHP:
Ver original
  1. $dbhost="127.0.0.1";//Localhost
  2. $dbusuario="root";
  3. $dbpassword=""; //root sin password no es muy aconsejable pero funciona
  4. $db="theblackshyp";  //la base existe y tiene la tabla usuarios      
  5. $con= mysql_connect($dbhost, $dbusuario, $dbpassword);
  6. $db= mysql_select_db($db,$con);

Podrias ver si la sentencia sql se construye bien, parece que si pero...
Código PHP:
Ver original
  1. $guardar = "INSERT INTO usuario (cuenta_usuario, password_usuario, email_usuario, sexo_usuario, tipo_usuario, pais_usuario, estado_usuario) VALUES ('$cuenta_usuario', '$password_usuario', '$email_usuario', '$sexo_usuario', '$tipo_usuario', '$pais_usuario', '$estado_usuario')";
  2. //Aqui debería mostrar una sentencia bien escrita y que si la copias
  3. //y la ejecutas desde phpmyadmin funcione
  4. echo "Sentencia guardar :".$guardar."<br>"
  5.  
  6. // **
  7. if(!mysql_query($guardar)){
  8. echo mysql_errno($con) . ": " . mysql_error($con) . "\n";
  9. }

Finalmente usa id en los objetos del formulario te ayudará

...name="email" id="email"...

Suerte
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/02/2011 a las 04:01 Razón: $link por $con