[MySQL] Recherche dans une table (de la BDD) [Résolu/Fermé]

Signaler
-
 Orci76 -
Bonjour,
Ma question concerne PHP et plus précisement MySQL.
Je souhaiterais faire une recherche dans une table de ma base de donnée (pour pas que par exemple un membre prenne le même pseudo qu'un autre).
J'ai déjà fait cela:

		<?php
			$name2 = $_POST['name'];

			try
			{
				$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
				$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);

				$reponse = $bdd->query('SELECT * FROM testrecherche WHERE name = $name2'); // SELECT * FROM jeux_video WHERE possesseur=\'Patrick\' AND prix < 20		ou		SELECT * FROM jeux_video LIMIT 0, 20
				// On affiche chaque entrée une à une
				while ($donnees = $reponse->fetch())
				{
					echo $donnees['name'];
				}
				
				$reponse->closeCursor(); // Termine le traitement de la requête

			}
			catch(Exception $e)
			{
				// En cas d'erreur précédemment, on affiche un message et on arrête tout
				die('Erreur : '.$e->getMessage());
			}


A vrai dire je ne comprend pour cela ne fonctionne pas, j'ai l'erreur:
Erreur : SQLSTATE[42S22]: Column not found: 1054 Unknown column '$name2' in 'where clause'

Donc ma page 1 à un formulaire qui transmet "$name2" par post et donc je compare après à ce qui se trouve dans la table (pas encore fait mais déjà que sa ne fonctionne pas encore...).

Donc ma table contient la colonne id (auto-increment) et name (varchar(24)).

Merci d'avance.

PS: J'utilise PDO, que j'ai choisi car je suis le tutorial sur le Site du Zéro.


2 réponses

Bonsoir,

Essaye ta requête comme celle ci :

$reponse = $bdd->query('SELECT * FROM testrecherche WHERE name = :name2');

Et dis moi si ca marche.

Edit: ou sinon essaye de la mettre comme cela :
$reponse = $bdd->query("SELECT * FROM testrecherche WHERE name = '$name2'");
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56912 internautes nous ont dit merci ce mois-ci

Bonjour,

$reponse = $bdd->query("SELECT * FROM testrecherche WHERE name = '$name2'");

Celle ci fonctionne à la perfection.
Je te remercie pour ta réponse si rapide.

Orci.

EDIT: En plus tu m'as permis te réglé un second problème, merci encore plus ;).