¿Cuál es el fallo en esta sentencia?

Un formulario sencillo en html llamado clientes.
<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Teléfono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>
código del archivo PHP llamado insertar
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
$conexion = mysql_connect("localhost", "user", "contraseña")
or die("Ha sido infructuosa la conexion!");
mysql_select_db("clientes")
// Con esta sentencia SQL creo que debería insertar los datos en la base de datos, es la que me arroja error
mysql_query("INSERT INTO clientes(nombre , telefono) VALUES ('$nombre', '$telefono')";
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>
Este es el error que me da:
Parse error: syntax error, unexpected T_STRING in
/home/"usuario"/public_html/insertar.php on line 11 ==> línea del query("INSERT INTO...
Trato de insertar datos en una db hecha en mysql a través de la interface PHPmyADMIN, pero no veo la forma.
Muchas Gracias a quien me pueda decir que estoy haciendo mal.
1

1 Respuesta

35.250 pts. Programador
Bueno lo primero es preguntarte si rescatas los datos que envías en el formulario insertar y de que forma. Si los rescatas entonces es el problema de la consulta.
Yo para evitarme los problemas de estar definiendo la conexión en todos los archivos, cree un archivo llamado conexión.php en el cual hago al conexión a la BD y después cuando la quiero utilizar la llamo utilizando un include, de esta forma mira..
include "conexion.php";
Te dejo el código que debes poner en el archivo de conexión para que lo hagas.
archivo conexión.php :
<?
$dbhost="localhost";  // host del MySQL (generalmente localhost) si no conecta con esto pone localhost
$dbusuario="user"; // aqui debes ingresar el nombre de usuario
                      // para acceder a la base
$dbpassword="password"; // password de acceso para el usuario de la
                      // linea anterior
$db="name_BD";        // Seleccionamos la base con la cual trabajaremos
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);
?>
archivo para cerrar conexion cerrar_conexion.php :
<?
include 'conexion.php';
mysql_close($conexion);
?>
Por lo general mantengo estos dos archivos en una carpeta llamada conexion.
Entonces cuando tengo la conexión hago la consulta de la siguiente forma, te pongo un poco de código aquí con tu ejemplo:
<?php
$nombre=$_post['nombre'];
$telefono=$_post['telefono'];
////////////// aqui tomé los datos que enviamos por el formulario insertar.html ///////
?>
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
include "conexion/conexion.php"; ///aqui llame al archivo de conexion,que esta en la carpeta conexion //////
$inserto_datos=mysql_query("INSERT INTO clientes(nombre,telefono) VALUES ('$nombre','$telefono')",$conexion); ////// $conexion es la que usamos para conectar  con la BD
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas