Barre de recherche
Fermé
axeldeux
Messages postés
42
Date d'inscription
mercredi 22 avril 2015
Statut
Membre
Dernière intervention
14 décembre 2015
-
29 mai 2015 à 14:09
axeldeux Messages postés 42 Date d'inscription mercredi 22 avril 2015 Statut Membre Dernière intervention 14 décembre 2015 - 29 mai 2015 à 15:54
axeldeux Messages postés 42 Date d'inscription mercredi 22 avril 2015 Statut Membre Dernière intervention 14 décembre 2015 - 29 mai 2015 à 15:54
A voir également:
- Barre de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Windows 11 barre des taches a gauche - Guide
- Egal barré - Forum Clavier
- Barré whatsapp - Guide
- Barre verticale mac - Forum MacOS
3 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
29 mai 2015 à 14:20
29 mai 2015 à 14:20
Salut,
Pas de connexion à la base de données dans ton fichier rechercher.php ?
Pas de connexion à la base de données dans ton fichier rechercher.php ?
axeldeux
Messages postés
42
Date d'inscription
mercredi 22 avril 2015
Statut
Membre
Dernière intervention
14 décembre 2015
Modifié par axeldeux le 29/05/2015 à 14:33
Modifié par axeldeux le 29/05/2015 à 14:33
Voilà
le code sql marche apres je ne c'est pas quoi mettre..
le code sql marche apres je ne c'est pas quoi mettre..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Recherche</title>
<style type="text/css" media="screen">@import "style.css";</style>
<body>
<?php
$link = mysql_connect ("localhost", "root", "****")
or die("Impossible de se connecter : " . mysql_error());
if (!mysql_select_db('dti', $link)) {
echo 'Sélection de base de données impossible';
exit;
}
?>
<br></br>
<p>resultat de la recherche!</p>
<?php
$mot = htmlentities($_POST['mot']);
$req = $pdo->prepare("SELECT * FROM clients WHERE nom = '$mot' OR artis = '$mot'");
$req->execute();
while($donnees = $req->fetch(PDO::FETCH_OBJ)) {
echo $donnees->sujet;
}
}
?>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
29 mai 2015 à 14:42
29 mai 2015 à 14:42
Tu te connecte avec l'API Mysql puis te exécute ta requête avec l'API PDO ce qui n'est pas correct, tu ne peux pas mélanger l'utilisation de ces deux APIs :
https://www.php.net/manual/fr/mysqlinfo.api.choosing.php
Puisque l'API Mysql est obsolète, tu devrais donc utiliser l'API PDO ou Mysqli.
Pour te connecter avec PDO : https://www.php.net/manual/fr/pdo.construct.php
Au passage, attention aux injections sql. Si tu utilises les requêtes préparées avec PDO, tu dois utiliser des paramètres nommés ou des marqueurs sur tes données pour éviter les injections sql, voir les exemples de cette page : https://www.php.net/manual/fr/pdo.prepare.php
La fonction htmlentities (ou htmlspecialchars) ne devrait pas être utilisée sur tes données avant de les utiliser en sql mais uniquement lors de leurs affichages dans une page html.
https://www.php.net/manual/fr/mysqlinfo.api.choosing.php
Puisque l'API Mysql est obsolète, tu devrais donc utiliser l'API PDO ou Mysqli.
Pour te connecter avec PDO : https://www.php.net/manual/fr/pdo.construct.php
Au passage, attention aux injections sql. Si tu utilises les requêtes préparées avec PDO, tu dois utiliser des paramètres nommés ou des marqueurs sur tes données pour éviter les injections sql, voir les exemples de cette page : https://www.php.net/manual/fr/pdo.prepare.php
La fonction htmlentities (ou htmlspecialchars) ne devrait pas être utilisée sur tes données avant de les utiliser en sql mais uniquement lors de leurs affichages dans une page html.
axeldeux
Messages postés
42
Date d'inscription
mercredi 22 avril 2015
Statut
Membre
Dernière intervention
14 décembre 2015
29 mai 2015 à 14:50
29 mai 2015 à 14:50
j'ai utiliser sa car je les récupérées d'un tuto.. je ne comprend pas trop c'est tous nouveau pour moi.. :/
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
29 mai 2015 à 15:03
29 mai 2015 à 15:03
Tu as dû mélanger deux tutos car il n'est pas possible de mélanger l'utilisation de deux API pour gérer ta bdd.
Je t'invite à reprendre un tuto sur PDO pour mieux comprendre ce que tu fais. Tu pourra en trouver très facilement via ton moteur de recherche préféré, un exemple parmi d'autres : https://www.commentcamarche.net/faq/27489-pdo-une-autre-facon-d-acceder-a-vos-bases-de-donnees
Je t'invite à reprendre un tuto sur PDO pour mieux comprendre ce que tu fais. Tu pourra en trouver très facilement via ton moteur de recherche préféré, un exemple parmi d'autres : https://www.commentcamarche.net/faq/27489-pdo-une-autre-facon-d-acceder-a-vos-bases-de-donnees
axeldeux
Messages postés
42
Date d'inscription
mercredi 22 avril 2015
Statut
Membre
Dernière intervention
14 décembre 2015
29 mai 2015 à 15:54
29 mai 2015 à 15:54
j'ai pas réussi avec pdo.. jai donc utilisé quelque chose que j'avais déjà réalisé.. je ne c'est pas si c'est mieux mais sa ne marche toujours pas..
<body>
<?php
$link = mysql_connect ("localhost", "root", "mounier")
or die("Impossible de se connecter : " . mysql_error());
if (!mysql_select_db('dti', $link)) {
echo 'Sélection de base de données impossible';
exit;
}
?>
<br></br>
<p>résultat de la recherche!</p>
<?php
$mot = htmlentities($_POST['mot']);
$reponse = $bdd->query("SELECT * FROM clients WHERE nom = '$mot' OR artis = '$mot'");
while($donnees = $reponse->fetch())
{
nom : echo $donnees['nom']; ?>
}
</body>
</html>