query inserts me a single value Mysql - PHP [closed]

0

hi people I have a problem, with this query:

   INSERT INTO resultado(idpartido) SELECT idpartido FROM partido where idpartido not in (SELECT idpartido FROM resultado)

The problem is that on the PHP side when I run it, it inserts only 1 row, instead if I put that query in MYSQL it inserts all the records (as I want it to be), I wonder why it does this? ?

ATTACHED THE METHOD of php side

public function crear_fecha ($numfecha,$array_locales,$array_visitantes)
{ 
 if (is_numeric($numfecha) && $numfecha<=30)
{if (!$this->conectar()){return 0 ;} // no se pudo conectar a la bd
 $i=1;
 $p=0;
 $query="INSERT INTO partido (num_partido,num_fecha,idequipo_local,idequipo_visitante) VALUES ($i,$numfecha,$array_locales[$p],$array_visitantes[$p]);";

for ($i=2;$i<=15;$i++)
     {$p++;
      $query.="INSERT INTO partido (num_partido,num_fecha,idequipo_local,idequipo_visitante) VALUES ($i,$numfecha,$array_locales[$p],$array_visitantes[$p]);";
    }
  if ($this->mysqli->multi_query($query))
   { echo "la fecha fue creada exitosamente";
     $query2="INSERT INTO resultado(idpartido) SELECT idpartido FROM partido where idpartido not in (SELECT idpartido FROM resultado)";
     if ($this->mysqli->query($query2))
      {echo "la tabla resultados fue exitosa";
       $asignar_idresultado = "UPDATE partido set idresultado = (select idresultado from resultado WHERE resultado.idpartido = partido.idpartido)";
       if ($this->mysqli->query($asignar_idresultado))
         {echo "los ids se asignaron correctamente";}
      }
   }
  else {echo "no se pudo crear la fecha :(";}
  }


}
    
asked by fer 04.05.2017 в 15:05
source

1 answer

0

Excuse me, I'm new to the forum and I do not know how to close the questions and so on. Well as I said, I could solve it and I provide the code for someone who can serve you.

  

What I did was concatenate the queries in one and then use multi_query, with this I inserted the data and updated in a single query

public function crear_fecha ($numfecha,$array_locales,$array_visitantes)
{
 if (is_numeric($numfecha) && $numfecha<=30)
{if (!$this->conectar()){return 0 ;} // no se pudo conectar a la bd
 $i=1;
 $p=0;
 $query="INSERT INTO partido (num_partido,num_fecha,idequipo_local,idequipo_visitante) VALUES ($i,$numfecha,$array_locales[$p],$array_visitantes[$p]);";

for ($i=2;$i<=15;$i++)
     {$p++;
      $query.="INSERT INTO partido (num_partido,num_fecha,idequipo_local,idequipo_visitante) VALUES ($i,$numfecha,$array_locales[$p],$array_visitantes[$p]);";
    }
  $query.="INSERT INTO resultado(idpartido) SELECT idpartido FROM partido where idpartido not in (SELECT idpartido FROM resultado);";
  $query.="UPDATE partido set idresultado = (select idresultado from resultado WHERE resultado.idpartido = partido.idpartido)";
  if ($this->mysqli->multi_query($query))
   { echo "la fecha fue creada exitosamente";
    echo "se asignaron los ids resultados en ambas tablas";
   }
  else {echo "no se pudo crear la fecha :(";}
   }


}

Greetings, since a thousand apologies for not knowing the methodology of closing questions

    
answered by 04.05.2017 / 20:54
source