Foros del Web » Programando para Internet » PHP »

Manejo de archivos,sql y cadenas

Estas en el tema de Manejo de archivos,sql y cadenas en el foro de PHP en Foros del Web. bueno como dicen por alli una imagen vale mas que mil palabras , pero en este caso codigo El problema que tengo es el siguiente ...
  #1 (permalink)  
Antiguo 26/01/2003, 18:56
Avatar de Energy  
Fecha de Ingreso: abril-2002
Ubicación: Juangriego, Margarita
Mensajes: 468
Antigüedad: 15 años, 7 meses
Puntos: 0
Manejo de archivos,sql y cadenas

bueno como dicen por alli una imagen vale mas que mil palabras , pero en este caso codigo

El problema que tengo es el siguiente , quiero insertar un sql que se encuentra en un archivo de texto y a su vez cambiarle ciertas cosas por medio de str_replace , hasta aca todo bien ,el problema surge cuando voy a hacer el query de la variable que contiene el texto del archivo ya modificado , me produce un error sql asi que pienso que es algun problema de cadenas de texto, la verdad no encuantro solucion a esto aver quien me hecha una mano, pke estoy atorado alli

Aca les dejo los archivos para que me echen una mano Gracias

php php-source
sql

Saludos
__________________
Gabriel Ferragut
Energy Systems
Linux Registered User Nº #292911
  #2 (permalink)  
Antiguo 26/01/2003, 20:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Antetodo .. felicitarte por la forma de hacer la pregunta .. clara . concisa y con todos los códigos y datos q usas publicados en una web para q sean visibles en su contexto.

Sobre el problema que tienes .. Es que Mysql NO ejecuta varias consultas en un mismo mysql_query().

Una consulta la define cada: instrucciones SQL ;

Por lo tanto hay q identificar cada ; para repartir varias consultas como las q tienes en tu db.sql en varios mysql_query() ...

Como sabemos que caracter es el "delimitador" se pude facilmente aplicar un simple explode() y obtener un array con el que poder trabajar para enviar las consultas mysql_query() una por una.

Aquí .. gracias a tus ejemplos hice una versión que "casi funciona por completo" ... Por lo mismo que comento sobre el ";" (punto y coma) como delimitador .. en tus datos hay un ; q no se ha de indentificar como delimitador de consulta SQL .. Eso ya te lo dejo a ti xD una vez detectado el problema.

Código PHP:
<?php
$pre 
"test";
$user="test";
$pass="test";
$mail="test";
$archivo "db.sql";
$fd fopen($archivo,"r");
$sql fread ($fdfilesize ($archivo));
fclose($fd);

$sql=str_replace("newspostsys_smiles",$pre."log",$sql);

mysql_connect("localhost","","") or  die (mysql_error()) ;
mysql_select_db("prueba") or  die (mysql_error()) ;

$consultas explode';'$sql); // el ; define el fin de una instruccion SQL ..

// Obtenido el array de Instrucciones SQL q hay q ejecutar ..
// se procede a recorrer el array ejecutando una a una cada consulta.
foreach( $consultas as $sql_temporal ){
  echo 
'Consulta:<br>'.$sql_temporal.'<br>';
  
$consulta mysql_query$sql_temporal ) or die('Error: '.mysql_error());
  echo 
'... OK ...<br><br>';
}

?>
Un saludo,
  #3 (permalink)  
Antiguo 27/01/2003, 06:10
Avatar de Energy  
Fecha de Ingreso: abril-2002
Ubicación: Juangriego, Margarita
Mensajes: 468
Antigüedad: 15 años, 7 meses
Puntos: 0
Gracias , por la ayuda cluster , no sabia que solo se permitia un solo query , cada dia se aprende algo nuevo xDD , pero ya el problema lo solucione , ademas sobre que hay otro ; en la consulta fue sencillo solo hize un explode para que tomara komo separador algo komo "; " con un espacio y listo

Cuando tenga listo esto lo posteare por aca para que opinen

Saludos
__________________
Gabriel Ferragut
Energy Systems
Linux Registered User Nº #292911
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 22:48.