New question

Question:

Date: 03-11-2016 16:07:55 (In Spanish)

PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in[Resolved]

Hola buenas noches,

Tengo una tienda online y actualizo el stock capturándolo desde una url que me da el distribuidor. Hasta ahora siempre me ha funcionado con mysql pero se ve que han actualizado el servidor y me encuentro con que tengo que pasar mi pequeño programa a mysqli.

Estoy intentando aprender como pasarlo a esta nueva librería pero estoy muy perdida, les dejo el código a ver si me pueden ayudar ...

<?php
                $connect = mysqli_connect("localhost","nombre_DB","pass_DB","DB");
                $jsondata = file_get_contents('http://dominio.com/disribuidor/stock.php/');
                $phpArray = json_decode($jsondata, true);
                foreach ($phpArray as $key => $value) {
                $sel="SELECT * FROM wp_postmeta WHERE meta_key='_sku' and meta_value='".$key."'";
                $sel_query=mysqli_query($connect,$sel);
                while($sel_arr=mysqli_fetch_array($sel_query)) {
                $updt="UPDATE wp_postmeta SET meta_value='".$value."' WHERE meta_key='_stock' AND post_id=".$sel_arr['post_id'];
                $updt_query=mysqli_query($updt);
                echo "<br>";
                }
}

?>


el Warning me lo da en esta linea : while($sel_arr=mysqli_fetch_array($sel_query)) {

Les pido por favor puedan darme alguna pista sobre como solucionar el problema, muchas gracias desde ya!
Tags: MySQL - PHP - PHP MySQLi - Question - Warning Votes: 1 - Answers: 2 - Views: 17 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 03-11-2016 18:39:32 Estimada Sonia,

    Saludos desde Guayaquil, Ecuador.

    Vi tu código y en la línea 10 debes poner la conexión ...

    // linea 10
    $updt_query=mysqli_query($connect, $updt);
    // prueba alli
    


    favor prueba alli y escribe...

    Dios te bendiga
      Votes: 1 - Link answer
     
  • Date: 03-11-2016 19:05:49 Hola Sonia, hace un tiempo tuve el mismo problema que vos, y aquí documente mi migración: Migrar funciones PHP MySQL (Deprecated) a MySQLi

    Al marge de esto, veo que no estaría mal la sección de código que comentas while($sel_arr=mysqli_fetch_array($sel_query)) {, pero puede que el error se este produciendo porque la query no sea correcta: $sel="SELECT * FROM wp_postmeta WHERE meta_key='_sku' and meta_value='".$key."'";

    Prueba agregar un echo y exit en la línea 7 de tu código:
    echo $sel;
    exit;
    

    y luego copia la query que se forma y ejecutala en un phpMyAdmin (o el cliente de base de datos que uses), la idea es verificar si tienes o no algun error en la query (por ejemplo, tal vez alguna columna tiene otro nombre). Un error en la query hace que mysqli_query retorne FALSE, por lo que se entendería el mensaje de error que comentas "...boolean given in...", o sea, le estas pasando un boolean (el false) a la función mysqli_fetch_array.

    Por otro lado, presta atención a lo que comenta Luigui, es correcto, te esta faltando pasar la conexión a la segunda invocación de mysqli_query (aunque esto no debería ser el causal del error que comentas, ya que se produce antes de llegar al update), si no lo corriges será tu próximo error ;)

    Saludos y bienvenida a la comunidad!
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com