Problème array empty
Résolu
blackbutterfly
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
-
blackbutterfly Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
blackbutterfly Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ce message est la suite de celui-ci : https://forums.commentcamarche.net/forum/affich-24962781-fonction-fetch-error
Comme le problème n'est plus celui du fetch(), je pense qu'il était plus judicieux d'ouvrir un autre topic. ( Si cela est contraire au règlement, je supprimerais celui-ci ).
Ma question est celle-ci ( une question à "cela fait 4h que je planche dessus"... )
Voici la fonction que j'utilise :
public function Get_MP_info(){
define ('USER', 'root@localhost');
define ('Paswd', '');
$pdo = new PDO('mysql:host=localhost;dbname=test', USER, Paswd);
$sql = "SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION";
$stmt = $pdo->prepare($sql);
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($rs);
print_r($rs);
$stmt->closeCursor();
return $rs;
}
or le print_r renvoi juste "array()" et le var_dump renvoi "array empty"
J'ai oublié une étape ou un : ? Quelque chose m'échappe ...
Je vous remercie à l'avance de l'aide et l'intérêt que vous portez à mon problème.
Cordialement
Ce message est la suite de celui-ci : https://forums.commentcamarche.net/forum/affich-24962781-fonction-fetch-error
Comme le problème n'est plus celui du fetch(), je pense qu'il était plus judicieux d'ouvrir un autre topic. ( Si cela est contraire au règlement, je supprimerais celui-ci ).
Ma question est celle-ci ( une question à "cela fait 4h que je planche dessus"... )
Voici la fonction que j'utilise :
public function Get_MP_info(){
define ('USER', 'root@localhost');
define ('Paswd', '');
$pdo = new PDO('mysql:host=localhost;dbname=test', USER, Paswd);
$sql = "SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION";
$stmt = $pdo->prepare($sql);
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($rs);
print_r($rs);
$stmt->closeCursor();
return $rs;
}
or le print_r renvoi juste "array()" et le var_dump renvoi "array empty"
J'ai oublié une étape ou un : ? Quelque chose m'échappe ...
Je vous remercie à l'avance de l'aide et l'intérêt que vous portez à mon problème.
Cordialement
A voir également:
- Problème array empty
- Remove empty directories - Télécharger - Nettoyage
- Empty folder finder - Télécharger - Bureautique
- Param filters must be an array. - Forum Programmation
- Database empty on tv ✓ - Forum PHP
- Boot options priorities empty - Forum logiciel systeme
3 réponses
Juste te faire une proposition d'utiliser la gestion des erreurs PDO afin de tenter de voir pourquoi l'array est vide. Je te laisse consulter la doc officielle PHP concernant ce chapitre pour mieux l'appréhender...
http://php.net/manual/fr/pdo.error-handling.php
http://php.net/manual/fr/pdo.error-handling.php
Voici la modification pour augmenter le niveau de debug :
public function Get_MP_info ()
{
define ('USER', 'root@localhost');
define ('Paswd', '');
try {
$pdo_opt[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$pdo = new PDO('mysql:host=localhost;dbname=test', USER, Paswd, $pdo_opt);
$sql = "SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION";
$stmt = $pdo->prepare($sql);
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($rs);
print_r($rs);
$stmt->closeCursor();
return $rs;
}
catch (PDOException $err) {
$msg='DB -> '.$err->getMessage();
echo $msg;
}
}
Je n'ai aucun nouveau résultat d'affiché. -_- hormis mes :
array
empty
Array ( )
( ! ) Notice: Undefined index: CODE
( ! ) Fatal error: Cannot use object of type MProduit as array in
Qui me troll depuis maintenant 4h ... Je suis a bout
public function Get_MP_info ()
{
define ('USER', 'root@localhost');
define ('Paswd', '');
try {
$pdo_opt[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$pdo = new PDO('mysql:host=localhost;dbname=test', USER, Paswd, $pdo_opt);
$sql = "SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION";
$stmt = $pdo->prepare($sql);
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($rs);
print_r($rs);
$stmt->closeCursor();
return $rs;
}
catch (PDOException $err) {
$msg='DB -> '.$err->getMessage();
echo $msg;
}
}
Je n'ai aucun nouveau résultat d'affiché. -_- hormis mes :
array
empty
Array ( )
( ! ) Notice: Undefined index: CODE
( ! ) Fatal error: Cannot use object of type MProduit as array in
Qui me troll depuis maintenant 4h ... Je suis a bout
J'ai modifié ma fonction comme cela:
public function Get_MP_info ()
{
try {
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$reponse = $bdd->query('SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION');
$donnees = $reponse->fetchAll();
//print_r($donnees);
$reponse->closeCursor(); // Termine le traitement de la requête
return ($donnees);
}
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
}
et quand je fais :
$List_Presta = $produit->Get_MP_info();
print_r($List_Presta);
voici ce qui s'affiche :
Array ( [0] => Array ( [ID_PRESTA] => 1 [0] => 1 [CODE] => 01A [1] => 01A ..........
Pourtant, il continu à me sortir les erreurs suivantes :
( ! ) Notice: Undefined index: CODE pour la ligne : $nb = sizeof($List_Presta['CODE']);
( ! ) Notice: Undefined index: ID_PRESTA pour la ligne : echo ($List_Presta['ID_PRESTA']);
Si quelqu'un pense avoir la solution ...
public function Get_MP_info ()
{
try {
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$reponse = $bdd->query('SELECT ID_PRESTA, CODE, LIBELLE, PVHT, TVA, PVTTC FROM PRESTATION');
$donnees = $reponse->fetchAll();
//print_r($donnees);
$reponse->closeCursor(); // Termine le traitement de la requête
return ($donnees);
}
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
}
et quand je fais :
$List_Presta = $produit->Get_MP_info();
print_r($List_Presta);
voici ce qui s'affiche :
Array ( [0] => Array ( [ID_PRESTA] => 1 [0] => 1 [CODE] => 01A [1] => 01A ..........
Pourtant, il continu à me sortir les erreurs suivantes :
( ! ) Notice: Undefined index: CODE pour la ligne : $nb = sizeof($List_Presta['CODE']);
( ! ) Notice: Undefined index: ID_PRESTA pour la ligne : echo ($List_Presta['ID_PRESTA']);
Si quelqu'un pense avoir la solution ...