Bonjour, je demande votre aide aujourd'hui car j'ai eu un problème avec une de mes fonctions la voici :
function recherchebdd($ressource){
$req_rech = $bdd->prepare("SELECT * FROM resources WHERE resource = ?");
$req_rech->execute(array($ressource));
$req_result = $req_rech->fetch();
echo $req_result['price'];
et quand j'appele ma fonction
recherchebdd('oilp');
resultat ma page fait des caprices et par dans tous les sens
merci de votre aide, cordialement
Bonjour,
Qu'entends tu par "ma page fait des caprices et par dans tous les sens" ? (quels sont les messages d'erreurs)
Que donne un var_dump($req_result) ?
D'où sors la variable $bdd de ta fonction ?
ps : dans ta requête, si tu mets WHERE resource = %?% cela serait peut être plus "global" comme recherche
Bonjour c'est normal que tu as une erreur tu as oublié de présisé que la varible $bdd est une instance de la class PDO, si tu l'as déclaré au paravant hors fonction tu devra le passer en paramètre, voici le code :
function recherchebdd(PDO $bdd, $ressource)
{
$req_rech = $bdd->prepare("SELECT * FROM resources WHERE resource = ?");
$req_rech->execute(array($ressource));
$req_result = $req_rech->fetch();
echo $req_result['price'];
}
Et quant tu appèle ta fonction :
$bdd = new PDO("mysql:dbname=nom_de_ta_bdd;host=127.0.0.1;charset=utf8", DB_USER, DB_PASSWORD,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
recherchebdd($bdd, 'oilp');