Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   error insertando (https://www.clubdelphi.com/foros/showthread.php?t=19679)

pharaonhx 22-03-2005 15:00:06

error insertando
 
tengo el siguiente ejemplo para insertar datos en una base de datos en mysql
Código PHP:

<HTML>
<HEAD>
<TITLE>Pagina para insertar en la base de datos</TITLE>
</HEAD>
<BODY>
<?php
 
 $NombreBD 
'Baseprueba';
 
$Servidor 'localhost:C:\Program Files\MySQL\MySQL Server 4.1\data\baseprueba';
 
$Usuario 'root';
 
$Clave ='reelena';

//conexion con la base de datos 
$IdConexion mysql_connect($Servidor$Usuario$Clave);
  
//selecionando la base de datos
mysql_select_db($NombreBD$IdConexion);

mysql_error($IdConexion);
mysql_errno($IdConexion);

//insertando registro en la base de datos
  
$Nombre=$_GET['Nombre'];
  
$Apellido=$_GET['Apellido'];
  
$Telefono=$_GET['Telefono'];
  
$Query 'INSERT INTO CLIENTES (IDCliente,NOMBRE, APELLIDO, TELEFONO) VALUES ('$IDCliente','$Nombre','$Apelldio','$Telefono');';

$Insecion mysql_query($Query$Idconexion);
 

?>
 
<H1><DIV ALIGN="CENTER">Registro Insertado </DIV></h1> 
<H1><DIV ALIGN="CENTER"><A HREF="consulta.php">Visualiza los registros de la base de datos </DIV></h1>
 
</BODY>
</HTML>

realmente no se que estoy haciendo mal me dan una mano soy nuevo en esto solo tengo dos dias leyendo de php ok ... no inserta por si a tengo otra pagina donde esta el formulario ok..

kayetano 22-03-2005 19:06:45

Hola

Antes de nada hacerte saber la existencias de las marcas para codigo PHP, cuando escribas código PHP debes meterlo entre las marcas [php][ /PHP] (sin los espacios).

Falta mucha información como para poder darte una respuesta 100% pero prueba con esto
1. $Servidor = "localhost";
2. ¿de donde sale "$IDCliente";
3. PHP diferencia entre mayusculas y minisculas.
4. Asegurate que el formulario se envia en modo "GET", aunque yo te aconsejo utilizar el modo "POST"

roman 23-03-2005 04:21:42

Complementando un poco lo que indica kayetano, el problema lo tienes desde la conexión. En MySql sólo se pueden guardar las tablas en un lugar por lo que no se especifica la ruta completa al directorio sino únicamente la dirección del servidor (en tu caso localhost).

Dado que lo que haces es una inserción es común pensar que el problema esté ahí pues con las versiones más recientes de PHP no se visualizará ningún mensaje de error anterior. Por eso es recomendable que siempre verifiques que las funciones tuvieron éxito:

Código PHP:

$IdConexion mysql_connect($Servidor$Usuario$Clave);

if (!
$IdConexion)
{
  echo 
'Hubo un error en la conexión';


y lo mismo con cada llamada a una función de mysql. Incluso, al menos durante las pruebas puedes usar mysql_error() para presentar el mensaje de error que manda el mismo MySql.

Otra cosa, a no ser que trabajes con consultas simultáneas al mismo o distintos servidores, no es necesario pasar el $IdConexion en cada función.

// Saludos

Emilio 26-03-2005 11:34:30

Me temo que se trata de un problema de mayúsculas minúsculas, veo un $Idconexion que no me gusta nada.

$Insecion = mysql_query($Query, $Idconexion);

Mejor así --> $Insecion = mysql_query($Query, $IdConexion);

Y mucho mejor todo en minúsculas asi no te lias ;)

salvica 17-04-2005 19:54:49

Hola, yo tengo algo parecido tal que así:
Código PHP:

 <?php
 
//+-----------------------------------------------------------------------------
//| Leer los parámetros de entrada
//| (en las nuevas versiones de PHP utilizar $_POST)
//+-----------------------------------------------------------------------------
  
$Nombre $HTTP_POST_VARS["Nombre"];
   
$Apellido $HTTP_POST_VARS["Apellido"];
   
$Telefono $HTTP_POST_VARS["Telefono"];
 
 
//+-----------------------------------------------------------------------------
//| Declarar los parámetros de la conexión
//+-----------------------------------------------------------------------------
  
$hostName "localhost";
   
$hostUser "root";
   
$hostPass "reelena";
   
$dataBase "Baseprueba";
 
 
//+-----------------------------------------------------------------------------
//| Conectarse al servidor
//+-----------------------------------------------------------------------------
  
$conexion   = @mysql_connect"$hostName""$hostUser""$hostPass) or
                           die( 
"<h2 align='center'>Conexión no realizada</h2>" );
   
mysql_select_db$dataBase$conexion );
 
//+-----------------------------------------------------------------------------
//| Comprobar que el usuario NO existe
//+-----------------------------------------------------------------------------
   
$sqlAccess  mysql_query"SELECT * FROM CLIENTES WHERE IDCliente='$IDCliente'"$conexion );
   if( 
$row mysql_fetch_array($sqlAccess) ) {
       
$existe  true;
   } else {
   
/*
     +--------------------------------------------------------------------------
     | USUARIO nuevo. Darle de alta
     +--------------------------------------------------------------------------
   */
       
$sqlQuery   "INSERT INTO CLIENTES ( IDCliente, NOMBRE, APELLIDO, TELEFONO )";
       
$sqlQuery  .= "              VALUES ( '$IDCliente', '$Nombre', '$Apellido', '$Telefono' )";
      
$sqlResult  mysql_query$sqlQuery ) or
                            die( 
"<h2 align='center'>No se ha podido dar de alta a $IDCliente </h2>" );
   }
   
mysql_close$conexion );
 
?>

Saludos y que te sirva de algo
Salvica


La franja horaria es GMT +2. Ahora son las 09:18:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi