Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2010, 16:30
albert_23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 68
Antigüedad: 14 años, 7 meses
Puntos: 4
Introduce nombre del vector en lugar del contenido

Buenas noches, el problema que tengo es que en una sentencia INSERT INTO con campos y valores variables tanto en numero como en nombre me introduce el nombre de la variable pero no el contenido de esta, me explico mejor con el codigo:

Código PHP:
Ver original
  1. $columnas= mysql_query("SHOW COLUMNS FROM " . $nombretabla) or die(mysql_error());
  2. $totalcolumnas = mysql_num_rows($columnas);
  3.  
  4. if(!empty($totalcolumnas)){
  5.  
  6. $contador = 0;
  7.  
  8. while($col = mysql_fetch_array($columnas)){
  9.     $frase = $frase . " " . $col["Field"] . ",";
  10.     $frase2 = $frase2 . " " . '\'$data[' . $contador . ']\',';
  11.     $contador ++;
  12. }
  13.  
  14. $frase = substr ($frase, 0, -1);
  15. $frase2 = substr ($frase2, 0, -1);
  16.  
  17. //$frase acaba asi: campo1, campo2, campo3
  18. //$frase2 acaba asi: '$data[0]', '$data[1]', '$data[2]'
  19.  
  20. $insertar = "INSERT INTO " . $nombretabla. " (" . $frase . ") VALUES (" . $frase2 . ")";
La primera parte del codigo lo hace bien a mi parecer cuando lo imprimo. Creo que hago algo mal con las contrabarras en $frase2 = $frase2 . " " . '\'$data[' . $contador . ']\','; pero es que llevo rato dandole vueltas al tema probando y reprobando y no he dado con ninguna solucion. Llevo poco tiempo con PHP y creo que algo se me escapa con lo de las comillas simples y dobles.

Saludos.

Última edición por albert_23; 08/05/2010 a las 16:39 Razón: he comentado las variables frase para que se vea como acaban.