Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonjour à tous,
J'ai créer un petit site qui me permets de surveiller se que fait mon staff. Je voulais ajouter une petite barre de recherche pour rechercher la personne qu'on voulait.
Donc j'ai suivie les 3 tuto: https://www.youtube.com/watch?v=0m5IRwp_bRk
Aucun problème sauf à la fin pour ma requète SQL.
Voici mon code:
<?php
$bdd = new PDO('mysql:host=XX;dbname=XX', 'USER', 'MDP');
if(isset($_GET['user'])){
$user = (String) trim($_GET['user']);
$pdostat = $bdd->prepare('SELECT * FROM lbrpdarkrp WHERE steamid_admin LIKE ? LIMIT 10', array("$user%"));
$executeisok - $pdostat->execute();
$lbrpdarkrp = $pdostat->fetchall();
foreach($lbrpdarkrp as $r){
?>
<div style="margin-top: 20px; border-bottom: 2px solid #ccc">
<?= $r['steamid_admin'] . " " . $r['admin'] ?>
</div>
<?php
}
}
?>
Et lorsque je saisi une valeur dans ma barre de recherche j'arrive à avoir comme erreur: Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /var/www/gouvernement-lbrp.mtxserv.com/public_html/fonctions/recherche_utilisateur.php on line 9
C'est mon execute qui ne fonctionne pas. Dans mon Select j'ai juste laissé ('SELECT * FROM lbrpdarkrp);
pour tester.
Et là PAF, sa fonctionne (mais je récupère tout, donc pas top).
J'ai regardé dans plein de forum mais je ne trouve pas la solution :(
Une petite aide s'il vous plait ? Merci beaucoup par avance.
PS: j'ai essayez d'utiliser le ->query
au lieu du ->prepare
& ->execute
mais j'ai toujours une erreurs.
Bonjour @Clouder
Merci pour ta superbe réponse, clair & rapide. J'ai effectué le changement mais maintenant j'ai une nouvelle erreur à la ligne en dessous :/
Call to a member function fetchall() on bool in /var/www/gouvernement-lbrp.mtxserv.com/public_html/fonctions/recherche_utilisateur.php:11 Stack trace: #0 {main} thrown in /var/www/gouvernement-lbrp.mtxserv.com/public_html/fonctions/recherche_utilisateur.php on line 11
Je ne comprends pas cette erreur.
Salut @mickapette,
Il faut que tu mettes le array
dans le execute
.
Pour ma part j'utilise des fonctions qui me permettent de me faciliter la vie.
<?php
$req= $bdd->prepare('SELECT * FROM lbrpdarkrp WHERE steamid_admin LIKE ? LIMIT 10');
$pdostat= $req->execute(array($user . '%'));
$lbrpdarkrp = $pdostat->fetchall();