Inserción de datos en sql con php

Tengo este código para insertar datos en sql. Algo tengo que estar haciendo mal porque no me funciona. Por favor, agradecería que alguien pudiera corregirme para que el código funcione. Gracias a todos.-

¿

<?PHP
$host = "";
$usuario = "";
$pass = "";
$base = "";
$conexion = mysql_connect($host,$usuario,$pass);
mysql_select_db($base,$conexion);
$piso = mysql_real_escape_string($_POST['piso']);
$precio = mysql_real_escape_string($_POST['precio']);
$direccion = mysql_real_escape_string($_POST['direccion']);
$localidad = mysql_real_escape_string($_POST['localidad']);
$query = mysql_query("INSERT INTO auto(piso,precio,direccion,localidad) VALUES ('$piso','$precio','$direccion','$localidad')";
mysql_close($conexion);
?>

La tabla:

CREATE TABLE `pisos` (
  `id` int(8) NOT NULL auto_increment,
  `piso` varchar(255) default NULL,
  `precio` varchar(255) default NULL,
  `direccion` varchar(255) default NULL,
  `localidad` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

2 Respuestas

Respuesta
1

/* archivo connect.php*/

$db_host = 'xxxxx';
$db_database = 'xxxxx';
$db_user = 'xxxxx';
$db_pass = 'xxxx';

$link = @mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');

mysql_set_charset('windows-1252');
mysql_select_db($db_database,$link);

/* archivo config */

<?php include_once("connect.php");
//proceso de almacenamiento
$dato= $_POST["dato"];
$link = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error($link));
mysql_select_db($db_database, $link) or die(mysql_error($link));

$sql = "INSERT INTO catgal (cat,data) VALUES ('".$dato."','".date("Y-m-d")."');";
mysql_query($sql, $link) or die(mysql_error($link));
echo "<script>alert('Datos actualizados correctamente'); location.href='admcatgal.php'</script>";
?>

Ami me sirve tal cual esta aquí

Respuesta
2

El problema principal que veo es que no le has metido el campo id a la hora de grabar el registro.

El voy a poner el código tal cual corregido, y a continuación el código como yo lo pondría.

¿

<?PHP
$host = "";
$usuario = "";
$pass = "";
$base = "";
$conexion = mysql_connect($host,$usuario,$pass);
mysql_select_db($base,$conexion);
$piso = mysql_real_escape_string($_POST['piso']);
$precio = mysql_real_escape_string($_POST['precio']);
$direccion = mysql_real_escape_string($_POST['direccion']);
$localidad = mysql_real_escape_string($_POST['localidad']);
$query = mysql_query("INSERT INTO auto(id, piso,precio,direccion,localidad) VALUES (NULL, '$piso','$precio','$direccion','$localidad')";
mysql_close($conexion);
?>

A mi forma:

<?PHP
$host = "";
$usuario = "";
$pass = "";
$base = "";
$conexion = mysql_connect($host,$usuario,$pass);
mysql_select_db($base,$conexion);
$query = mysql_query("INSERT INTO auto(id, piso,precio,direccion,localidad) VALUES (NULL,'$_POST["piso"]','$_POST["precio"]','$_POST["dirección"]','$_POST["localidad"]')";
mysql_close($conexion);
?>

Te agradezco que me hayas contestado, José Alberto, pero no me funciona tampoco como me has dicho. ¿Tienes algún otro procedimiento que hayas probado y te funcione a ti? Gracias.

Prueba esto, si no va, te busco un ejemplo

¿

<?PHP
$host = "";
$usuario = "";
$pass = "";
$base = "";
$conexion = mysql_connect($host,$usuario,$pass);
mysql_select_db($base,$conexion);
$piso = mysql_real_escape_string($_POST['piso']);
$precio = mysql_real_escape_string($_POST['precio']);
$direccion = mysql_real_escape_string($_POST['direccion']);
$localidad = mysql_real_escape_string($_POST['localidad']);
$query = mysql_query("INSERT INTO auto(id, piso,precio,direccion,localidad) VALUES (NULL, '$piso','$precio','$direccion','$localidad'), $conexión)";
mysql_close($conexion);
?>

Sentencia modificada:

$query = mysql_query("INSERT INTO auto(id, piso,precio,direccion,localidad) VALUES (NULL, '$piso','$precio','$direccion','$localidad'), $conexión)";

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas