Tangi
Invité n'ayant pas de compte PHPfrance
31 janv. 2006, 13:06
J'avance ! Contexte : une table mysql, avec les champs matricule, nom, prenom, spectacle, montant, mois, annee et divers, tous en VARCHAR.
J'ai scindé mon "projet-test" en plusiers fichiers, le premier connexion.htm
--------------------------------------connexion.htm---------------------------
<html>
<head>
<title>****</title></head>
<body>
<font face="Arial" size="2">
<form method="post" action="matricule.php">Recherche par Matricule <input type="text" name="matricule">
<input type="submit" value="ok">
</form>
<form method="post" action="annee.php">Recherche par année <input type="text" name="annee">
<input type="submit" value="ok">
</form>
<form method="post" action="nom.php">Recherche par Nom <input type="text" name="nom">
<input type="submit" value="ok">
</form>
</body>
</html>
--------------------------------------fin connexion.htm---------------------------
j'ai donc aussi 3 fichiers php qui recuperent respectivement les variables tapées pour l'inserer dans la requete sql du fichier ad hoc. Mais souci :
-ça fonctionne pour annee mais pas pour les autres ! Ex si je tape f814274 (un matricule qui existe dans la bdd), j'ai Erreur SQL ! SELECT * FROM personne WHERE matricule LIKE F814274
Champ 'F814274'inconnu dans where clause
Alors que si je tape 2006 dans l'input annee, j'ai mes 3 tuples qui correspondent....ça vient du type de mes champS ?
-----------------------------annee.php------------------------------------------
<?php
$MySQL_serveur = "localhost";//l'adresse du serveur MySQL
$MySQL_utilisateur = "serge"; //le nom d'utilisateur
$MySQL_mdp = "serge"; //le mot de passe
$db="billetterie"; //indiquer le nom de la base de données
$lien_base=mysql_connect($MySQL_serveur,$MySQL_utilisateur,$MySQL_mdp);
?>
<?
mysql_select_db('billetterie');
?>
<?php
$sql = "SELECT * FROM personne WHERE annee LIKE {$_POST['annee']}";
$req = mysql_query($sql) or die('Erreur SQL! <br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo '<strong>'.$data['matricule'] .'</strong><br>';
echo '<strong>'.$data['nom'] .'</strong><br>';
echo '<strong>'.$data['prenom'] .'</strong><br>';
echo '<i>'.$data['spectacle'] .'</strong><br>';
echo '<i>'.$data['montant'] .'</strong><br>';
echo '<i>'.$data['mois'] .'</strong><br>';
echo '<i>'.$data['divers'] .'</strong><br>';
}
?>
----------------------fin annee.php---------------------------------------
----------------------matricule.php-----------------------------------------
<?php
$MySQL_serveur = "localhost";//l'adresse du serveur MySQL
$MySQL_utilisateur = "serge"; //le nom d'utilisateur
$MySQL_mdp = "serge"; //le mot de passe
$db="billetterie"; //indiquer le nom de la base de données
$lien_base=mysql_connect($MySQL_serveur,$MySQL_utilisateur,$MySQL_mdp);
?>
<?
mysql_select_db('billetterie');
?>
<?php
$sql = "SELECT * FROM personne WHERE matricule LIKE {$_POST['matricule']}";
$req = mysql_query($sql) or die('Erreur SQL! <br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo '<strong>'.$data['matricule'] .'</strong><br>';
echo '<strong>'.$data['nom'] .'</strong><br>';
echo '<strong>'.$data['prenom'] .'</strong><br>';
echo '<i>'.$data['spectacle'] .'</strong><br>';
echo '<i>'.$data['montant'] .'</strong><br>';
echo '<i>'.$data['mois'] .'</strong><br>';
echo '<i>'.$data['divers'] .'</strong><br>';
}
?>
-------------------------------fin matricule.php-----------------------------------