Insertar registros en una base de datos

Quiero preguntarle lo siguiente:
Resulta que tengo el siguioente código en php:
<?php
function Conectarse(){
# Esta funcion es la q me conecta a la DB solo modifica tu usuario y la contraseña
# Por estetica ps no la debes colocar en tooodos los archivos que tengas que hacer
# una conecciona la DB, simplemente crea un archivo llamado qué se yo.. "Conex.php"
# y colocas esta funcion y... Cuando necesites una coneccion a tu DB simplemente
# haces esto: "include('Conex.php');" y despues llamas la funcion "$link = Conectarse();"
# y listo!!
if (!($link=mysql_connect("localhost","root","califele2011"))){
echo "Error conectando a la base de datos. Por favor comunique con el administrador ";
exit();
}
if (!mysql_select_db("Omnilife",$link)){
echo "Error seleccionando la base de datos. Por favor comunique con el administrador";
exit();
}
return $link;
}
$link = Conectarse(); # con esto me conecto a la DB
ini_set("date.timezone", "America/Bogota"); # esto no veo que lo estes usando. Para mi, esto sobra.
$Nombre_A = $_POST['Nombre_A'];
$Email_A = $_POST['Email_A'];
$Pais_Ciudad_A = $_POST['Pais_Ciudad_A'];
# El error que veia era que despues de INTO.. Tu tabla la estabas colocando entre comillas '' y eso no se debe hacer.
if (mysql_query("INSERT INTO Afiliacion (Nombre_A,Email_A,Pais_Ciudad_A) values ('$Nombre_A','$Email-A','$Pais_Ciudad-A')")){
echo "Registro agregado con exito!";
} else {
echo "Error: ".mysql_error();
}
?>
Pero al momento de oprimir un botón no me inserta los registros correspondientes a la base de datos que esta en Mysql solo me inserta espacios en Blanco y eso que al principio si me insertaba bien los registros,, ¿a qué se deberá eso?
Respuesta
1
Por lo que veo esta bien, de lo que te tendrás que asegurar es de que esas variables tengan contenido cuando las guardas.
Create una página con esas variables (que simplemente las enseñe) para saber si la agina que recoge las variables lo hace bien.

1 respuesta más de otro experto

Respuesta
1
El problema esta en el nombre de las variables, revisa que estén igualmente escritas. Lo que veo es lo siguiente:
('$Nombre_A','$Email-A','$Pais_Ciudad-A')")){
En esa linea de codigo la variable Email la has dejado con guión normal y es diferente a la declarada anteriormente con guión bajo, osea que tiene que ser: ('$Nombre_A','$Email_A','$Pais_Ciudad_A')")){
Otra cosa es que revises bien el nombre de la tabla y la base de datos para que te pueda funcionar. Prueba y a ver qué resulta
Hola muchas gracias por su atención y colaboración pues el inconvewniente con lo que le mande anteriormente ya lo soluciones, ahora el problema que tengo es con algo muy similar el codigop es el siguiente:
<?php
function Conectarse(){
if (!($link=mysql_connect("localhost","root","califele2011"))){
echo "Error conectando a la base de datos. Por favor comunique con el administrador ";
exit();
}
if (!mysql_select_db("Omnilife",$link)){
echo "Error seleccionando la base de datos. Por favor comunique con el administrador";
exit();
}
return $link;
}
$link = Conectarse(); # con esto me conecto a la DB
ini_set("date.timezone", "America/Bogota"); # esto no veo que lo estes usando. Para mi, esto sobra.
$Nombre5 = $_POST['Nombre5'];
$Apellido5 = $_POST['Apellido5'];
$Email5 = $_POST['Email5'];
$País_Ciudad5 = $_POST['PaísCiudad5'];
$Si5 = $_POST['Si5'];
$No5 = $_POST['No5'];
$Mensaje5 = $_POST['Mensaje5'];
if (mysql_query("INSERT INTO buzón (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si, No, Mensaje) values ('$Nombre5', '$Apellido5', '$Email5' , '$País_Ciudad5' , '$Si5' ,'$No5' , '$Mensaje5' )")){
echo "Registro agregado con exito!";
} else {
echo "Error: ".mysql_error();
}
mysql_close($link);# Con esto cierro la conexion a la DB
?>
La diferencia es que los componentes correspondientes a la valiable $Si5 y $No5 son 2 Ckeckbox, he revisado bien el nombre de las variables y los campos de las bases de datos y al ejecutar la página web me dice:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?n (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si, No, Mensaje) values ('', ' at line 1
A que se deberá esto,,,, pues he hecho todo lo que esta a mi alcance y me sale el mismo error...
Gracias.
Tienes un error en la siguiente linea de código:
if (mysql_query("INSERT INTO buzon (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si, No
Cambia por esto:
if (mysql_query("INSERT INTO buzon (Nombre_B, Apellido_B, Email_B, Pais_Ciudad_B, Si5, No5,
Amigo sigues teniendo problemas con lo que escribes o copias... ojo con eso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas