Cita:
Iniciado por yoe El problema estaba en el bucle while.
Si lo elimino y utilizo directamente la expresión $row_content = mysql_fetch_array($result)); , funciona correctamente.
No entiendo muy bien a qué se debe, pues aunque solamente tenga un registro el array debería funcionar el bucle.
yoe:
Lo que está pasando es que estás generando un conflicto con el nombre de la variable $result. Si te das cuenta el while utiliza esa variable, y tú la modificas dentro (cosa que no debería pasar).... además, almacenar el resultado en una variable sólo tiene utilidad en consultas como SELECT... en un INSERT no hace falta.
O sea que no es necesario redefinir esa variable.
Código PHP:
$result = mysql_db_query("basededatos",$sql) or die (mysql_error());
//Insertamos en pages_content (tabla hija).
while ($row_content = mysql_fetch_array($result))
{
$sql = 'INSERT INTO `pages_contents` ( `content_id` , `content_page_id` , `content_page_titlei` , `content_page_text` , `content_page_image` ) '
. ' VALUES ( \'\', \''.$row_content['page_id'].'\', \''.$content_page_titlei.'\', \''.$content_page_texti.'\', \''.$content_page_imagei.'\' );'
. ' ';
//Acá haces el query sin almacenarlo en ninguna variable.
mysql_db_query("basededatos",$sql);
}
Ahora... si tuvieras el caso en que no hay INSERT, sino SELECT y necesitas almacenar ese valor del resultado.... simplemente le cambias de nombre a alguna de las variables para que no entren en conflicto.
Saludos