Foros del Web » Programando para Internet » PHP »

insertar datos con php en MySql

Estas en el tema de insertar datos con php en MySql en el foro de PHP en Foros del Web. Hola, a traves de una pagina PHP, intento cargar datos de un formulario en una BBDD de MySql y no lo consigo. Sé que conecto ...
  #1 (permalink)  
Antiguo 09/11/2006, 13:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Mensaje insertar datos con php en MySql

Hola, a traves de una pagina PHP, intento cargar datos de un formulario en una BBDD de MySql y no lo consigo. Sé que conecto con el localhost y con la base de datos. Tambien, a traves de PHPmyAdmin, meto los datos en la tabla. Pero a traves de la pagina, no consigo hacerlo
Sabeis alguno si tengo que hacer algo en PHPmyadmin, o que me prodria fallar?

<?php
include("conexion.php");
$link=Conectarse();
mysql_select_db("***",$link);
$sql = "INSERT INTO prueba (nombre, direccion, correo) " +
"VALUES ('$nombre', '$direccion', '$correo')";
$result = mysql_query($sql);
?>

"VALUES ('$nombre', '$direccion', '$correo')";-->son valores que recojo en una pagina Html y los mando aqui a traves del post.

---> Me podria faltar algo? En si, esta pagina no tendria mas codigo ni php ni html, pues unicamente la quiero para insertar datos en la BBDD.



Gracias
  #2 (permalink)  
Antiguo 09/11/2006, 15:23
 
Fecha de Ingreso: abril-2005
Mensajes: 17
Antigüedad: 19 años
Puntos: 0
supongo que $link es el identificador de la conexión.
te faltaría. en mysql_query, agregarle dicho identificador

$result = mysql_query($sql,$link);

y sería recomendable que a las variables $nombre, $direccion y $correo, las tomes con
$_REQUEST[''] --> $_REQUEST['nombre']

Porque soy bastante desconfiado del embebido de las variables dentro del string de la consulta lo escribiria de la siguiente forma.

$sql = "INSERT INTO prueba (nombre, direccion, correo) VALUES ('".$_REQUEST['nombre']."', '".$_REQUEST['direccion']."', '".$_REQUEST['correo']."')";

pero es solo una sugerencia :)

Espero que sirva...
  #3 (permalink)  
Antiguo 09/11/2006, 16:52
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Movido a PHP ya que no corresponde a BD.

Por favor lee esto:
Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 10/11/2006, 10:05
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Pues supongo que lo que pones como include("conexion.php"); es donde defines la conexion que sería unas líneas como estas:
Código PHP:
function Conectarse()
{
   
mysql_connect 'servername''username''password' );

Ahora, si tus variables las enviaste por metodo post como dices deberías definir nombres de variables cortos donde especifiques de que manera llegaron, más o menos así:
Código PHP:
$nombre $_POST['nombre'];
$direccion $_POST['direccion'];
$correo $_POST['correo']; 
Tu sentencia SQL no la estas definiendo bien:
Código PHP:
$sql "INSERT INTO prueba (nombre, direccion, correo) " +
"VALUES ('$nombre', '$direccion', '$correo')"
¿Para que es el signo +?, si lo que quieres es concatenar (unir) lo que deberías hacer es utilizar el operador de concatenación que es el punto (.), de esta manera:
Código PHP:
$sql "INSERT INTO prueba (nombre, direccion, correo) ";
$sql .= "VALUES ( '".$nombre."', '".$direccion."', '".$correo."')"
Con lo que tu código quedaría más o menos así:
Código PHP:
<?php
include( "conexion.php" );
$link=Conectarse();
mysql_select_db"***"$link );
$nombre $_POST['nombre'];
$direccion $_POST['direccion'];
$correo $_POST['correo'];
$sql "INSERT INTO prueba (nombre, direccion, correo) ";
$sql .= "VALUES ( '".$nombre."', '".$direccion."', '".$correo."')";
$result mysql_query$sql );
?>
Además que deberías de validar que realmente contienen algo esas variables, pero ese ya es otro tema. Si quieres saber como validar puedes utilizar las funciones empty() e isset().
http://www.php.net/manual/es/function.empty.php
http://www.php.net/manual/es/function.isset.php
Espero ye haya servido de algo o por lo menos te de una idea. Suerte
  #5 (permalink)  
Antiguo 06/09/2012, 13:34
Avatar de andreamorante184  
Fecha de Ingreso: agosto-2012
Mensajes: 65
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: insertar datos con php en MySql

Hola me salvaste me sirvio pero sabes cuando guarda me repite el dato!!!

<?php
include( "conexion.php" );
$link=Conectarse();
mysql_select_db( "usuario", $link );
$nombre = $_GET['nombre1'];
$apellido = $_GET['apellidos1'];
$correo = $_GET['correo1'];
$sql = "INSERT INTO usuario (nombre, apellido, correo) ";
$sql .= "VALUES ( '".$nombre."', '".$apellido."', '".$correo."')";
$result = mysql_query( $sql );
?>
__________________
Andrea Morante
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 07:39.