Por favor: Ayuda con un INSERT (seguro que es una tonteria)

stool
02 de Abril del 2006
Saludos a todos, tengo un problema con este c贸digo pero no se donde, porque no guarda los registros. Me gustar铆a que le echarais un ojo y me comentaseis. Gracias por todo:

$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$email=$_POST['email'];
$edad=$_POST['edad'];
$numeromovil=$_POST['numeromovil'];
$tipocontrato=$_POST['tipocontrato'];
$operadora=$_POST['operadora'];
$bluetooth=$_POST['bluetooth'];
$modelo=$_POST['modelo'];
$consumo=$_POST['consumo'];
$mp3=$_POST['checkbox'];
$dvd=$_POST['checkbox2'];
$blackberry=$_POST['checkbox3'];
$pda=$_POST['checkbox4'];
$camara=$_POST['checkbox5'];
$portatil=$_POST['checkbox6'];
$conexion=$_POST['checkbox7'];
$movil3g=$_POST['checkbox8'];

if (!$nombre || !$apellidos || !$email || !$numeromovil)
{
echo 'No has introducido todos los datos necesarios '
.'Por favor vuelva al formulario e introduzca los datos requeridos';
exit;
}

if (!get_magic_quotes_gpc())
{
$nombre = addslashes($nombre);
$apellidos = addslashes($apellidos);
$email = addslashes($email);
$edad = addslashes($edad);
$numeromovil = addslashes($numeromovil);
$tipocontrato = addslashes($tipocontrato);
$operadora = addslashes($operadora);
$bluetooth = addslashes($bluetooth);
$modelo = addslashes($modelo);
$consumo = addslashes($consumo);
$mp3 = addslashes($mp3);
$dvd = addslashes($dvd);
$blackberry = addslashes($blackberry);
$pda = addslashes($pda);
$camara = addslashes($camara);
$portatil = addslashes($portatil);
$conexion = addslashes($conexion);
$movil3g = addslashes($movil3g);


}

$db = new mysqli('localhost', 'root');
mysql_select_db('base1', '$db');

$query = "INSERT INTO base1.tabla1(nombre, apellidos, email, edad, numeromovil, tipocontrato, "
$query= " operadora, marca, modelo, bluetooth, consumo, uso, mp3, dvd, blackberry, pda, camara, portatil, "
$query= " conexion, movil3g)"
$query=" values ('".$nombre."', '".$apellidos."', '".$email."', '".$edad."''".$numeromovil."', "
$query= " '".$tipocontrato."', '".$operadora."', '".$marca."', '".$modelo."', '".$bluetooth."', '".$consumo."', "
$query= " '".$uso."', '".$mp3."', '".$dvd."', '".$blackberry."', '".$pda."', '".$camara."', '".$portatil."', '".$conexion."', '".$movil3g."')" ;

$result = mysql_query($query);

mysql_close();

Sandy
02 de Abril del 2006
Si ese es el c贸digo, el error est谩 al final cuando le asignas a $query el string de la consulta. Fijate que cada vez le est谩s asignando un valor nuevo no concatenado el nuevo valor con lo que ya tenias. Es decir que la consulta que est谩s enviado a la base de datos es:

" \'".$uso."\', \'".$mp3."\', \'".$dvd."\', \'".$blackberry."\', \'".$pda."\', \'".$camara."\', \'".$portatil."\', \'".$conexion."\', \'".$movil3g."\')" ;

Prueba con:
$query = "INSERT INTO base1.tabla1(nombre, apellidos, email, edad, numeromovil, tipocontrato, ";
$query .= " operadora, marca, modelo, bluetooth, consumo, uso, mp3, dvd, blackberry, pda, camara, portatil, ";
$query.= " conexion, movil3g)";
$query.=" values (\'".$nombre."\', \'".$apellidos."\', \'".$email."\', \'".$edad."\'\'".$numeromovil."\', "
$query.= " \'".$tipocontrato."\', \'".$operadora."\', \'".$marca."\', \'".$modelo."\', \'".$bluetooth."\', \'".$consumo."\', "
$query.= " \'".$uso."\', \'".$mp3."\', \'".$dvd."\', \'".$blackberry."\', \'".$pda."\', \'".$camara."\', \'".$portatil."\', \'".$conexion."\', \'".$movil3g."\')" ;

Sandy
02 de Abril del 2006
Si ese es el c贸digo, el error est谩 al final cuando le asignas a $query el string de la consulta. Fijate que cada vez le est谩s asignando un valor nuevo no concatenado el nuevo valor con lo que ya tenias. Prueba con poner .= en lugar de = excepto en la primera asignaci贸n