Warning: mysql_fetch_array() expects parameter 1 to be resource,

Fermé
martin06300 - Modifié par jordane45 le 17/11/2015 à 00:14
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 18 nov. 2015 à 11:28
Bonjour,

Tout fonctionnait bien jusqu'a vendredi et hop, plus rien ne fonctionne avec ce code, sans raison évidente. Qu'est ce qui peut expliquer cela ?

Merci.

Message d'erreur :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given

Code :
<?php

require_once('../login/auth.php');
require_once '../header.php';
require_once 'config.php';
require_once '../db.php';

$link = mysql_connect($opts['hn'], $opts['un'], $opts['pw']);

if(!$link) {
    die('Failed to connect to server: ' . mysql_error());
}

//Select database
$db = mysql_select_db($opts['db']) or die("Unable to select database");

$query = "SELECT count(*) as cnt FROM Providers WHERE id=".$_GET['idd']." and id_type=2";

$resultt=mysql_query($query);
//$resultt=mysql_query($query) or die("Unable to get query");

$row=mysql_fetch_array($resultt);

?>



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

PRNE555 Messages postés 15 Date d'inscription vendredi 6 novembre 2015 Statut Membre Dernière intervention 24 mars 2016 2
16 nov. 2015 à 18:39
Salut,

Je pense (mais j'en ai pas la preuve) que c'est ta fonction
mysql_query
qui échoue et donc te renvoier FALSE (qui est un booléen).

Ensuite Php te dit que le paramètre 1 doit être une resource (ce qui aurait été le cas si ta requête n'avait pas échoué) et non un booléen.

En espérant t'aider.
1
martin06300
16 nov. 2015 à 19:06
Bonjour, oui effectivement, mais ceci est arrivé vendredi sans aucun changement ni dans la base de donnée ni le code php, je me demandais si des mises à jours sql ou autres pouvaient affecter le code et comprendre le probleme ? Merci.
0
PRNE555 Messages postés 15 Date d'inscription vendredi 6 novembre 2015 Statut Membre Dernière intervention 24 mars 2016 2
16 nov. 2015 à 20:59
Quand tu parles de mises à jour SQL, tu parles de modification dans ta base de données ?
0
Choka38 Messages postés 80 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 20 avril 2016 14
16 nov. 2015 à 21:03
En effet je pense aussi que le problème se trouve dans ta fonction mysql_query ! essaie de produire une requete simple et d'afficher ce qu'elle renvoie pour vérifier si elle fonctionne.

Si c'est le cas c'est que tu as tu modifier ta base et que tu dois modifier ta requete SQL en conséquence !
0
martin06300 > Choka38 Messages postés 80 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 20 avril 2016
16 nov. 2015 à 21:25
bonsoir, rien n'a changé, ni le code ni la bdd
j'ai en fait 2 pgm php indépendants, tous les 2 sont concernés, ce n'est donc ni la bdd ni le code, un changement extérieur de sql ? php ?
merci
0
Choka38 Messages postés 80 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 20 avril 2016 14
16 nov. 2015 à 21:35
alors un changement de serveur ? une mise à jour de la version de php du serveur?
0
Utilisateur anonyme
16 nov. 2015 à 22:46
Bonsoir

Essaye
$resultt=mysql_query($query) or die(mysql_error());
pour voir la cause de l'erreur.
1
Choka38 Messages postés 80 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 20 avril 2016 14
17 nov. 2015 à 18:15
Ou affiche nous ton $resultt, visiblement ça renvoie un bool (enfin c'est ce que dit le message d'erreur).

Si tu prends ton $query et que tu l'executes direct sur ton serveur sql ta requete fonctionne ?
0
+1 les 2 choses à faire pour traquer l'erreur(voire de manière générale):

_Ajouter le or die avec l'erreur(les messages d'erreurs sont activés par défaut, si ce n'est opas le cas il faut les activer).
_Encore plus simple tester la requête en console sur la BDD ça indiquera déjà si le problème vient du SQL.

Pour mysql_query c'est une fonction dépréciée(par interdite jusqu'à PHP6, pour la v7 je ne sais pas) car présente des problèmes de sécurité et de gestion des ressources.

Remplacée avantageusement il y a une dizaine d'années par les fonctions/objets PDO Object il serais peut être temps de vous y mettre pour avoir un code correct(attention je dis pas que ça ne peuit pas marcher mais que ça présente de problèmes et qu'il faut l'éviter).
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
Modifié par bg62 le 18/11/2015 à 11:29
lut;)
tu ne dois pas être le seul ^^
vois ici :
https://www.google.fr/#q=Warning:+mysql_fetch_array%28%29+expects+parameter+

peut-être trouveras-tu 'ta' solution, moi là je suis largué ;)
bonne chance

le 'www' est fait aussi pour communiquer, partager et échanger, non ? Merci d'avoir la politesse de répondre à ceux qui essaient de vous aider :)
0