Problème Affichage des Résultats sur la page web (json)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème Affichage des Résultats sur la page web (json)

Re: Problème Affichage des Résultats sur la page web (json)

par Saian » 08 juin 2020, 18:00

Faut apprendre à lire les messages d'erreur et se référer à la documentation. Les messages d'erreur php sont généralement très clairs.

Use of undefined constant MYSQLi_ASSOC - assumed 'MYSQLi_ASSOC'
Utilisation de la constante indéfinie MYSQLi_ASSOC - assume 'MYSQLi_ASSOC' (considère MYSQLi_ASSOC comme une chaine)

mysqli_fetch_array() expects parameter 2 to be long, string given
mysqli_fetch_array() s'attend à ce que le paramètre 2 soit long (de type long), chaine donnée

Tu as simplement mit un i minuscule dans la constante qui doit être écrite tout en majuscule MYSQLI_ASSOC et dont la valeur doit être de type long.

Re: Problème Affichage des Résultats sur la page web (json)

par SHELLA » 08 juin 2020, 17:30

Salut, erreur sur le premier paramètre, tu lui donnes le résultat de mysqli_select_db (un booléen) alors que ce doit être un "identifiant de lien" (mysqli dans le message d'erreur) retourné par mysqli_connect() ou mysqli_init().
https://www.php.net/manual/fr/mysqli.query.php

Merci pour votre prompt réaction mais lorsque je remplace comme vous m'avez proposé :

$bdd_name='Categories';
$serveur='localhost';
$user='root';
$password='';
//connexion mysql
$connexion=mysqli_connect($serveur,$user,$password);
//verifier la reussite de la connexion
if(!$connexion)
print"echec de la connexion";

//selectionner la base de données
$resultat=mysqli_select_db($connexion,$bdd_name);
if(!$resultat)
{
print"echec de la selection";
return;
}


$sth = mysqli_query($connexion,"SELECT * from Produits");
$rows = array();
while($r = mysqli_fetch_array($sth, MYSQLi_ASSOC)) {
$rows []= $r ;
}
mysqli_free_result($sth);
print_r(json_encode($rows));
?>


J'ai une autre erreur qui s'affiche :

Notice: Use of undefined constant MYSQLi_ASSOC - assumed 'MYSQLi_ASSOC' in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\cafPos\produits2.php on line 23

Warning: mysqli_fetch_array() expects parameter 2 to be long, string given in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\cafPos\produits2.php on line 23

---------------------------------------------------

La ligne 23 en question chez moi c'est :

while($r = mysqli_fetch_array($sth, MYSQLi_ASSOC)) {

Re: Problème Affichage des Résultats sur la page web (json)

par Saian » 08 juin 2020, 17:19

Salut, erreur sur le premier paramètre, tu lui donnes le résultat de mysqli_select_db (un booléen) alors que ce doit être un "identifiant de lien" (mysqli dans le message d'erreur) retourné par mysqli_connect() ou mysqli_init().
https://www.php.net/manual/fr/mysqli.query.php

Problème Affichage des Résultats sur la page web (json)

par SHELLA » 08 juin 2020, 16:39

Bonsoir à tous.


J'ai crée une base de données avec php 5.6 et Mysql : 5.7 mon but c'est affiché ma table produit qui se trouve dans ma base de donnée Catégories j'utilise EasyPHP en local.

Mon fichier Test.php se trouve dans le répertoire www de EasyPHP avec le code suivant :


<?php
$bdd_name='Catégories';
$serveur='localhost';
$user='root';
$password='';
//connexion mysql
$connexion=mysqli_connect($serveur,$user,$password);
//verifier la reussite de la connexion
if(!$connexion)
print"echec de la connexion";

//selectionner la base de données
$resultat=mysqli_select_db($connexion,$bdd_name);
if(!$resultat)
{
print"echec de la selection";
return;
}


$sth = mysqli_query($resultat,"SELECT * from Produits");
$rows = array();
while($r = mysqli_fetch_array($sth, MYSQLi_ASSOC)) {
$rows []= $r ;
}
mysqli_free_result($sth);
print_r(json_encode($rows));
?>


La connexion à la base se passe bien, mais mon véritable problème au niveau de l'aperçu il y 'a toujours une erreur sur la ligne SELECT Produits.

Malgré les modifications au départ qui été mysql_ donc j'ai transformé en mysqli_

Voilà l'erreur en question :

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\Catégories\Test.php on line 21


Je prie toute personne de bonne volonté de bien vouloir m'arranger mon code je me retrouve vraiment bloquer. :( :( :(


Merci