Expects parameter 1 to be resource, boolean given in
Destro08
-
Destro08 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Destro08 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucie avec une fonction qui pourtant ma l'air sans faute.
L'erreur, la voici:
- Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
Ma fonction:
Le problème est à la ligne ($verif_entrepos).
Cette une vérification qui va ce faire dans la base de donnée Safebox par l'id de compte qui égal à l'id de compte connecté au site.
Cette vérification ce suit ensuite du ( if($result_entrepos['nb_safebox']==1) ) pour vérifier si ce compte possède bien un entrepôt.
Donc quand je fait mon achat l'erreur cité au début ce fait, j'ai essayé plusieurs manière de faire le code mais j'obtiens toujours cette erreur.
Quelqu'un aurais t-il une solution à ce problème ?
J'ai un soucie avec une fonction qui pourtant ma l'air sans faute.
L'erreur, la voici:
- Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
Ma fonction:
/* Vérification de l'entrepot */ function verif_place_is($id_sess, $nb_item=1) { if(is_numeric($id_sess)) { $verif_entrepot=mysql_query("SELECT COUNT(*) AS nb_safebox FROM $db_player.safebox WHERE account_id=('". $id_sess ."')"); $result_entrepot=mysql_fetch_array($verif_entrepot); if($result_entrepot['nb_safebox']==1) { $pos=0; $go=false; while($go==false) { $verif_pos=mysql_query("SELECT COUNT(*) AS nb_pos FROM $db_player.item WHERE owner_id=('". $id_sess ."') AND pos =('". $pos ."') AND window=('MALL')"); $result_pos=mysql_fetch_array($verif_pos); if($result_pos['nb_pos'] >= 1) {$pos++;} else {$go = true;} } if($pos > (45-$nb_item)) { return false; } // Si le MALL est plein else {return $pos;} // On renvoi le numéro de la position libre } else {return false;} //si la personne ne possède pas d'entrepos } else {return false;} // Si account n'est pas un chiffre }
Le problème est à la ligne ($verif_entrepos).
Cette une vérification qui va ce faire dans la base de donnée Safebox par l'id de compte qui égal à l'id de compte connecté au site.
Cette vérification ce suit ensuite du ( if($result_entrepos['nb_safebox']==1) ) pour vérifier si ce compte possède bien un entrepôt.
Donc quand je fait mon achat l'erreur cité au début ce fait, j'ai essayé plusieurs manière de faire le code mais j'obtiens toujours cette erreur.
Quelqu'un aurais t-il une solution à ce problème ?
A voir également:
- Expects parameter 1 to be resource, boolean given in
- Qwerty to azerty - Guide
- Navigation in private - Guide
- Press esc in 1 seconds to skip startup.nsh any other key to continue ✓ - Forum Windows 10
- Deco in paris avis ✓ - Forum Consommation & Internet
- Press ESC in 1 second to skip startup.nsh, Any other keys - Forum Windows 10
6 réponses
Bonjour,
je ne comprends pas ton utilisation des quotes :
je ne comprends pas ton utilisation des quotes :
$verif_entrepot=mysql_query("SELECT COUNT(*) AS nb_safebox FROM $db_player.safebox WHERE account_id=('". $id_sess ."')");
$verif_entrepot=mysql_query("SELECT COUNT(*) AS nb_safebox FROM $db_player.safebox WHERE account_id=$id_sess");est plus simple non ?
Je préfère faire comme cela je trouve ça plus propre, chacun sa façon de faire en tout cas, ça n'a rien a voir avec avec le bug
>> Je préfère faire comme cela je trouve ça plus propre, chacun sa façon de faire en tout cas, ça n'a rien a voir avec avec le bug
Si si, ça à voir quelque chose avec le message d'erreur retourné par PHP, d'ailleurs fais un test en ajoutant ceci à ta requête, tu verras bien l'erreur retournée par MySQL :
Si si, ça à voir quelque chose avec le message d'erreur retourné par PHP, d'ailleurs fais un test en ajoutant ceci à ta requête, tu verras bien l'erreur retournée par MySQL :
$verif_entrepot=mysql_query("SELECT COUNT(*) AS nb_safebox FROM $db_player.safebox WHERE account_id=('". $id_sess ."')") or die ("Erreur dans la requête SQL verif_entrepot".mysql_error());
Bonjour
Si $dbplayer est vraiment une variable, alors il faut la passer en paramètre ou en global. Moyennant quoi la syntaxe de la requête est correcte.
Telle que la fonction est écrite, $dbplayer n'est pas définie, ce qui rend la requête incorrecte(manque le nom de la base)
Si $dbplayer est vraiment une variable, alors il faut la passer en paramètre ou en global. Moyennant quoi la syntaxe de la requête est correcte.
Telle que la fonction est écrite, $dbplayer n'est pas définie, ce qui rend la requête incorrecte(manque le nom de la base)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui mais ici tu es à l'intérieur d'une fonction : les variables définies à l'extérieur sont inconnues a priori.
Il faut ajouter :
Note que si ta définition dans config.php est aussi à l'intérieur d'une fonction, il faut aussi ajouter cette ligne dans cette autre fonction.
Il faut ajouter :
global $db_player;au début de ta fonction pour que la variable soit connue.
Note que si ta définition dans config.php est aussi à l'intérieur d'une fonction, il faut aussi ajouter cette ligne dans cette autre fonction.
j'ai trouver quel était le problème quand je déclarais la fonction
verif_place_is()
j'indiquais ($_SESSION['id'], $nb_item)
comme dans la fonction il demandais account_id pour moi c'était évident que réclamais l'id de la session mais apparemment non il réclamais le login $_SESSION['login'], ca me parrait étrange mais c'est fonctionnel.
verif_place_is()
j'indiquais ($_SESSION['id'], $nb_item)
comme dans la fonction il demandais account_id pour moi c'était évident que réclamais l'id de la session mais apparemment non il réclamais le login $_SESSION['login'], ca me parrait étrange mais c'est fonctionnel.