Foros del Web » Programando para Internet » PHP »

Error con Mysqli

Estas en el tema de Error con Mysqli en el foro de PHP en Foros del Web. Buenas, La sig funcion que aqui les pongo, me ejecuta unas consultas separadas por ";" donde inserto en la BD en diferentes tablas, Código PHP: ...
  #1 (permalink)  
Antiguo 29/04/2009, 09:52
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Pregunta Error con Mysqli

Buenas,

La sig funcion que aqui les pongo, me ejecuta unas consultas separadas por ";" donde inserto en la BD en diferentes tablas,

Código PHP:
function ImportarBD($file)
{
     
$conexion mysqli_connect("localhost""root""pasww","PruebaSalva");
if (
$conexion)
{
        
$file_content file($file);
foreach(
$file_content as $sql_line => $sql_lines )
{
$sql_text=base64_decode($sql_lines);    
}

if (
mysqli_multi_query($conexion,$sql_text)) 

 return 
true
 else
 return 
false;



mysqli_close($conexion);
}
else
return 
false;

El problema esta en que yo sé que tiene un error la consulta pero
Código PHP:
mysqli_multi_query($conexion,$sql_text
me sigue retornado true,

Yo nunca he trabajado con mysqli_multi_query y no se si me falta algo si tengo que comprobar por cada insert que haga..

Saludos y Gracias de Antemano
  #2 (permalink)  
Antiguo 29/04/2009, 10:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error con Mysqli

¿sería buena idea si lees el manual de PHP??

http://php.net/mysqli_multi_query

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/04/2009, 10:23
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Pregunta Respuesta: Error con Mysqli

Gracias ,

Pero

Código PHP:
if (mysqli_multi_query($link$query)) {
    do {
        
/* store first result set */
        
if ($result mysqli_store_result($link)) {
            while (
$row mysqli_fetch_row($result)) {
                
printf("%s\n"$row[0]);
            }
            
mysqli_free_result($result);
        }
        
/* print divider */
        
if (mysqli_more_results($link)) {
            
printf("-----------------\n");
        }
    } while (
mysqli_next_result($link));

me podrias explicar para que ponen todo esto en un do while

Saludos
  #4 (permalink)  
Antiguo 29/04/2009, 10:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error con Mysqli

me imagino, que al ser una consulta múltiple.... también devuelve múltiples resultados...

entonces, para saber algún recurso especifico de la consulta... hay que iterar todos los resultados!


solamente supongo, en verdad tampoco se que hace....

¿¿apoco en el manual de PHP ni siquiera salen los resultados de los ejemplos???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/04/2009, 10:48
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Pregunta Respuesta: Error con Mysqli

Buenas,

Si pero

Lo que yo no me explico es que
Código PHP:
mysqli_multi_query($conexion,$sql_text
me retorne true sabiendo yo que uno de lo insert tiene un error,

Saludos
  #6 (permalink)  
Antiguo 29/04/2009, 11:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error con Mysqli

no se si ya leíste el manual pero...

Cita:
bool mysqli_multi_query ( mysqli $link , string $query )
esto quiere decir que regresa un bool (booleano)

ahora...

Cita:
To retrieve the resultset from the first query you can use mysqli_use_result() or mysqli_store_result(). All subsequent query results can be processed using mysqli_more_results() and mysqli_next_result().
"Para recuperar los resultados de la primera consulta puede utilizar mysqli_use_result () o mysqli_store_result (). Todos los resultados de las consultas posteriores se pueden procesar utilizando mysqli_more_results () y mysqli_next_result ()."


NOTA: que si no sabes inglés, bien puedes usar a Google para traducir...

http://translate.google.com/translate_t?hl=es


y me sigo imaginando lo mismo, sea error o no... cada consulta genera su propio resultado, y es por eso que devuelve true??


__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 29/04/2009, 11:45
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Pregunta Respuesta: Error con Mysqli

Buenas,

Yo se el valor que devuelve esa funcion que es un bool, yo no quiero saber los resultados de las consultas ya que las consultas que estoy mandando a hacer son INSERT solamente, simplemente lo unico que necesito es saber es si se ejecuto bien todos lo INSERT separados por ";" que le mande a hacer

Saludos
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 16:42.