Question:
Date: 03-11-2016 16:07:55
(In Spanish)
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 ...
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! Votes: 1 - Answers: 2 - Views: 17 Share on: Google Facebook Twitter LinkedIn Link
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! 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