Foros del Web » Programando para Internet » PHP »

Grabar checks en bd

Estas en el tema de Grabar checks en bd en el foro de PHP en Foros del Web. Hola, estoy probando este codigo q recogi Código PHP: include( "conexion.inc.php" ); // Aquí empezamos a recojer los datos  if(isset( $_POST [ 'submit' ])) {  //echo "<p>Valores recojidos:<br><blockquote>";       for( $i = 0 ;  ...
  #1 (permalink)  
Antiguo 22/02/2006, 12:42
 
Fecha de Ingreso: enero-2003
Mensajes: 516
Antigüedad: 21 años, 3 meses
Puntos: 0
Exclamación Grabar checks en bd

Hola, estoy probando este codigo q recogi
Código PHP:

include("conexion.inc.php");
// Aquí empezamos a recojer los datos 
if(isset($_POST['submit'])) { 
//echo "<p>Valores recojidos:<br><blockquote>"; 
    
for($i=0$i<5$i++) { // el ciclo 
        
if(!empty($_POST['check'][$i])) { 
           
// echo "Indice: $i -> Valor: ".$_POST['check'][$i]."<br>"; 
// aquí agregaría los campos a guardar.. solo los que tienen valor 
            
$campos[]= "campo".($i+1); // Solo ilustrativo, tú tendrás que recojer los campos de otra manera 
            
$values[]= "'".$_POST['check'][$i]."'"
// aunque igual puedes hacer un if/else como leí sugirieron.. :-D más fácil de entender y aplicar... 
        

    } 
//echo "</blockquote>"; 
    
$camposimplode($campos", "); // www.php.net/implode 
    
$valuesimplode($values", "); 
//echo "Guardar:<br><blockquote>INSERT INTO tabla(".$miCheckBox .") VALUES (".$values.")</blockquote></p>"; 


mysql_query("insert into prueba(miCheckBox)values('$values')")or die(mysql_error());



el asunto q al quere grabar me sale este 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 'valor3', 'valor4'')' at line 1

en la bd la tabla se llama prueba de 2 campos (id,miCheckBox) int y varchar
  #2 (permalink)  
Antiguo 22/02/2006, 14:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa:

Código PHP:
<?
$sql
="insert into prueba(miCheckBox)values('$values')";
echo 
$sql."<br>";
mysql_query($sql) or die (mysql_error());
así observaras que sentencia SQL estás componiendo y te darás cuenta si es una sintax SQL válida o no ..

A simple vista se observa que le -sobran- los ' a $values en '$values'

La sintax SQL correcta es 'dato','dato1','dato2' ... no ''dato','dato1','dato2'' .. etc.

Un saludo,
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 17:10.