Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: kernel876 en 03 de Mayo 2016, 15:18

Título: PHP consulta INSERT en base de datos no funciona values insertar da error MySql
Publicado por: kernel876 en 03 de Mayo 2016, 15:18
Hola amigos, soy nuevo programando en PHP y tengo un problemita con mi código a la hora de insertar los valores. La conexión está bien porque la he probado eliminando datos desde mi página pero al insertar me da error. Aquí les dejo mi codigo:

Código: [Seleccionar]
<?php
if (isset($_POST['carnet']))
{
$carnet=$_POST['carnet'];
$username=$_POST['username'];
$pass=$_POST['pass'];
$pass2=$_POST['pass2'];
$nombres=$_POST['nombres'];
$apellidos=$_POST['apellidos'];
$rol=$_POST['rol'];

$sql='insert into users(username, rol, pass, carnet, nombres, apellidos) values('.$username.','.$rol.','.$pass.','.$carnet','.$nombres.','.$apellidos.');';

if (
$pass==$pass2 && $pass!=""){
if(
ereg("[0-9]",$carnet)){
if(
ereg("[a-zZ]",$nombres)){
if(
ereg("[a-zZ]",$apellidos)){
$x=mysql_query($sql,$con);//esta es la linea que no se me ejecuta
echo "Datos guardados";
}
}
}
}else{
echo 
"<script>alert('Error')</script>";
}
}
?>


Gracias de antemano.
Título: Re:PHP consulta INSERT en base de datos no funciona values
Publicado por: César Krall en 05 de Mayo 2016, 08:47
Hola!

Te recomiendo ver este curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 y en particular las entregas relacionadas con consultas a base de datos

Como se explica en el curso las sintaxis de tipo mysql_query son no recomendadas, en su lugar debe usarse mysqli

También habría que aclarar a qué te refieres con que la línea no se ejecuta: ¿te sale un mensaje de error? ¿O por el contrario se muestra el mensaje "Datos guardados" pero luego no aparecen guardados?

Saludos!
Título: Re:PHP consulta INSERT en base de datos no funciona values
Publicado por: Lorenzo31 en 10 de Mayo 2016, 18:24
Hola, deberias pegar cual es el error que te da, para poder tener una idea de lo que te ocurre.

Pero para empezar ya te digo que tu consulta, inserta mal las variables, en lugar de
'. $username .'  debes usar \''.$username .'\'
Debes usar el escape \' para decirle al sql que ahí va una coma '

Espero respuesta, un saludo.