Mysql_fetch_array() expects parameter 1 to be resource boolean..

Fermé
Etudiant en galere - Modifié par g16 le 1/02/2016 à 12:12
g16 Messages postés 5 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 2 février 2016 - 2 févr. 2016 à 11:19
Bonjour,
j'ai un problème en PHP. J'ai un problème avec mon code PHP.
Je suis entrain d'essayer de faire un site qui me permet en rentrant le code d'un salarié de connaitre son salaire (stipendio), exploitant ainsi ma base de données dans phpMyAdmin, or quand je rentre le code du salarié voici le message d'erreur : Array to string conversion in C:\xampp\htdocs\requete2bis.php on line 5
et Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\requete2bis.php on line 21

Si quelqu'un comprends mon erreur il sera mon sauveur !

voici mon code :
<?php
$link = mysqli_connect ("localhost","root","","Ponti_Torino") or die ("Impossibile connettersi al DBMS");

$q = "SELECT StipendioMese, CodFisc FROM PERSONALE, CONTRATTO WHERE PERSONALE.CodCertif=CONTRATTO.CodCertif 
AND CodFisc=' “$_REQUEST [CodFisc]”'  ORDER BY StipendioMese, CodFisc; ";
$result = mysqli_query ($link, $q);

print "<html>";
print "<head>";
print "<title>Stipendio Personale</title>";
print "</head>";
print "<body>";
print "<h1>Qual è lo stipendio di un dipendente per questo mese con il suo codice fiscale </h1>";

print "<table border=\"1\">";
print "<tr>";
print "<td><b>StipendioMese</b></td>";
print "<td><b>CodFisc</b></td>";
print "</tr>";

while ($row = mysql_fetch_array($result) ) {
 print "<tr>";
 print "<td>".$row["StipendioMese"]."</td>";
 print "<td>".$row["CodFisc"]."</td>";
 print "</tr>";
}

print "</table>";
print "</body>";
print "</html>";

mysqli_close($link);

?>

Cette page de code est liée a une autre page dans laquelle j'ai juste codé une barre de recherche dans laquelle on tape le code salarié

En remerciant d'avance mon sauveur !

4 réponses

Firoxyd Messages postés 97 Date d'inscription mardi 23 juin 2015 Statut Membre Dernière intervention 28 juin 2017 47
1 févr. 2016 à 12:08
Salut,

Essai d'utiliser les balises de code, c'est assez illisible comme ça et on ne voit pas le numéros de lignes.

Il semble que tu as un espace entre le tableau et son index ici $_REQUEST [CodFisc] (peut-être la ligne 5)

Plus bas tu utilises mysql_fetch_array($result) alors que tu utilises mysqli plus haut.
1
g16 Messages postés 5 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 2 février 2016
1 févr. 2016 à 12:20
j'ai modifié le post pour que le code soit plus lisible grace a la balise ! Et j'ai modifié les msql en msqli et inversement et cela ne change pas, j'ai toujours le même message d'erreur :(

Merci d'avance !
0
foxyfox51 Messages postés 868 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 12 septembre 2022 347
Modifié par foxyfox51 le 1/02/2016 à 12:11
Bonjour,

$q = "SELECT StipendioMese, CodFisc FROM PERSONALE, CONTRATTO WHERE PERSONALE.CodCertif=CONTRATTO.CodCertif 
AND CodFisc='".$_REQUEST[CodFisc]."' ORDER BY StipendioMese, CodFisc; "; 
$result = mysqli_query ($link, $q); 
?

Mettez votre code dans des balises php, ce sera plus simple pour se repérer.

N'oubliez pas de cliquer sur "+1"!! // Cordialement Foxyfox51
0
g16 Messages postés 5 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 2 février 2016
1 févr. 2016 à 12:15
Oui désolé, voici avec la balise code
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 546
Modifié par Pitet le 1/02/2016 à 12:33
Salut,

Il faut toujours penser à gérer les éventuelles erreurs sql :
$q = "SELECT StipendioMese, CodFisc FROM PERSONALE, CONTRATTO WHERE PERSONALE.CodCertif=CONTRATTO.CodCertif 
AND CodFisc='".$_REQUEST['CodFisc']."'  ORDER BY StipendioMese, CodFisc;";
$result = mysqli_query ($link, $q);

if (!$result) {
    printf("Message d'erreur : %s\n", mysqli_error($link));
}

https://www.php.net/manual/fr/mysqli.error.php

Le message d'erreur sql devrait te permettre d'identifier plus facilement le problème.

Bonne journée
0
g16 Messages postés 5 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 2 février 2016
1 févr. 2016 à 20:32
Bonsoir à tous, j'ai réussis a régler le message d'erreur en modifiant : $result = mysqli_query ($link, $q); par if ($result = $link->query($query)) {
mais du coup plus rien ne s'affiche quand je lance la recherche, est ce que vous auriez une idée pourquoi ?

voici mon code actuel :

<html>
<head>
<title>Stipendio Personale</title>
</head>
<body>
<h1>Qual	è lo stipendio di un dipendente	per	questo	mese con il	suo	codice	fiscale	</h1>

<?php
$link = mysqli_connect ("localhost","root","","Ponti_Torino") or die ("Impossibile connettersi al DBMS");



$query = "SELECT StipendioMese, CodFisc FROM PERSONALE, CONTRATTO WHERE PERSONALE.CodCertif=CONTRATTO.CodCertif 
AND CodFisc=' “$_REQUEST[CodFisc]”'  ORDER BY StipendioMese, CodFisc; ";
if ($result = $link->query($query)) { 


print "<table border=\"1\">";
print "<tr>";
print "<td><b>StipendioMese</b></td>";
print "<td><b>CodFisc</b></td>";
print "</tr>";

while ($row = $result->fetch_row()) {
	echo "<tr>";
	echo "<td>".$row["StipendioMese"]."</td>";
	echo "<td>".$row["CodFisc"]."</td>";
	echo "</tr>";

	mysqli_close($link);}


print "</table>";

mysqli_close($link);
}
?>
</body>
</html>
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 546
2 févr. 2016 à 10:54
Cf mon message précédent :
if ($result = $link->query($query)) { 
   // ...
} else {
    printf("Message d'erreur : %s\n", mysqli_error($link));
}
0
g16 Messages postés 5 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 2 février 2016 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
2 févr. 2016 à 11:19
ok merci beaucoup ! ca a l'air de marcher !! :)
0