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.
AAAAhh c'est bon.
@Nico19 On m'a appris comme sa et je n'ai jamais eu problème par rapport au PDO mais merci quand même ^^
@Clouder J'ai essayer mais sa ne change rien.
Enfaite l'erreur est extrèmement bête mais "invicible"..... J'ai mis des espaces devant les variables... MY BAD
Merci beaucoup pour vos réponses et votre rapidité ^^
Tu peux essayer dans le fetchAll() ?
Bonjour @mickapette,
Peut-être que ton problème viens de la connexion à ta base de donnée
Comme l'a dit @Clouder, l'erreur vient peut-être d'un oubli de ';'
En haut de ta pages, tu as la connexion à ta base de donnée, tu as oublié de les mettres :
$bdd = new PDO('mysql:host=XX;dbname=XX', 'USER', 'MDP');
Essayes :
$bdd = new PDO('mysql:host='XX';dbname='XX','USER','MDP');
Comme tu peux le voir j'ai mis des ';'
😀
Tu peux me faire une capture d'écran de ton code et me mettre le lien de goopic ?
Généralement cette erreur indique que tu as oublié un ';' ou une parenthèse
Même erreur avec marquer dedans $req
Parse error: syntax error, unexpected '$req' (T_VARIABLE) in /var/www/gouvernement-lbrp.mtxserv.com/public_html/fonctions/recherche_utilisateur.php on line 8
Nouvelle erreur: Parse error: syntax error, unexpected '$pdostat' (T_VARIABLE) in /var/www/gouvernement-lbrp.mtxserv.com/public_html/fonctions/recherche_utilisateur.php on line 8
Il n'a pas l'air d'aimer ma variable $pdostat
<?php
$bdd = new PDO('mysql:host=HOST;dbname=DBNAME', 'NAME', 'MDP');
if(isset($_GET['user'])){
$user = (String) trim($_GET['user']);
$pdostat = $bdd->prepare('SELECT * FROM lbrpdarkrp WHERE steamid_admin LIKE ? LIMIT 10');
$pdostat->execute(array($user . '%'));
$lbrpdarkrp = $pdostat->fetchall();
foreach($lbrpdarkrp as $r){
?>
<div style="margin-top: 20px; border-bottom: 2px solid #ccc">
<?= $r['steamid_admin'] . " " . $r['admin'] ?>
</div>
<?php
}
}
?>
J'ai fait une petite erreur, peux-tu tester avec ceci :
<?php
$pdostat= $bdd->prepare('SELECT * FROM lbrpdarkrp WHERE steamid_admin LIKE ? LIMIT 10');
$pdostat->execute(array($user . '%'));
$lbrpdarkrp = $pdostat->fetchall();
De plus quand tu utilises l'instruction foreach tu n'es pas obligé de mettre le fetchAll() car le foreach le gère de lui même ! 😁