Cita:
Iniciado por rigo_5834 hola
estimados, tengo el siguiente problema... estoy guardando una cadena de datos que incluyen variables php dentro de otra variable.
Código PHP:
$link2=Conectarse($nombre_camp);
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_camp = mysql_query("Insert into ".$tabla_datos." ".$insert_query." ", $link2);
$insert_query guarda lo siguiente
Código PHP:
$insert_query="(telefono) VALUES ('".$row['campo']."') ";
en si la variable $row['campo'], en ese momento no tiene nada pero cuando la llamo estoy dentro de un while que tiene la variable $row
Código PHP:
while($row=mysql_fetch_array($sql_carga))
{
.........
}
el problema es que no me inserta los datos, y cuando hago un print para ver la consulta me arroja la variable $row['campo'], pero no el valor que deberia traerme, cuando lo hago manual funciona bien pero cuando la ejecuto de la variable me muestra eso.
Código:
(telefono) VALUES ('".$row['campo']."')
quizas debo agregarle alguna funcion especial para que tome la variable dentro de la otra variable, como deberia ser y no como texto.
agradecere su ayuda
muchas gracias
Cita: quizas debo agregarle alguna funcion especial para que tome la variable dentro de la otra variable, como deberia ser y no como texto.
No, lo que tienes es una metida de pata de las grandes. De las notables.
Vamos a este punto:
Cita: en si la variable $row['campo'], en ese momento no tiene nada pero cuando la llamo estoy dentro de un while que tiene la variable $row
Si ese $row['campo'] no contiene datos en el momento de ejecutar la línea
simplemente
no va a almacenar nada, porque estás mandando una cadena vacía.
ten en cuenta que
mysql_query() envía a ejecutar la query
con lo que tiene en ese momento.
Para que funcionase, como mínimo debería tener una lógica así:
Código PHP:
$link2=Conectarse($nombre_camp);
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_carga = $sql_camp = mysql_query("SELECT campo FROM tabla", $link2);
if ($sql_carga)
{ while($row=mysql_fetch_array($sql_carga))
{
$insert_query="(telefono) VALUES ('".$row['campo']."') ";
$sql_camp = mysql_query("Insert into ".$tabla_datos." ".$insert_query." ", $link2);
}
}
¿Se entiende?
No puedes insertar datos que no existen. Debes haber obtenido los valores de $row['campo']
antes del while.