par
yoyo » 20 avr. 2014, 18:12
Bonsoir,
Je suis actuellement en train de préparer un site web dynamique pou un dossier de fac et cela fait des heures que je bute sur l'erreur d'une seul ligne. Je n'arrive pas à comprendre cette erreur.
Cette erreur vient d'une requête que j'essaie d'exécuter à partir d'une base de données SQL précédemment créée.
Le fichier de connexion est bien crée :
<?php
// On tente la connexion
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$connexion = new PDO("mysql:host=localhost;dbname=test", "admin", "", $pdo_options);
// On définit le jeu de caractères MySQL en utf8
$connexion -> query("SET NAMES utf8");
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
Mon fichier formulaire dans lequel l'utilisateur va rentrer sa requête est bien codé :
<H1>Formulaire</h1>
<form method="post" action="tpmt_requete.php">
<p>Vous désirez voir les pièces<br>
- du metteur en scène : <input type="text" name="miseenscene" /><br>
<p>
<input type="reset" value="Effacer" />
<input type="submit" value="Envoyer" />
</p>
</form>
Mais c'est dans le fichier de préparation de la requête que ça bug. Je vous met en gras la ligne 19 qui m'ennuie depuis des heures.
<?php include ("commun/tpmt_entete.php"); ?>
<?php include ("commun/tpmt_banniere.php"); ?>
<!-- SECTION 1 -->
<section>
<!-- DEBUT DU CONTENU -->
<article>
<?php
// On donne une valeur aux variables mise en scène
$miseenscene = $_POST['miseenscene'];
// On se connecte à MySQL
include ("commun/tpmt_connexion.php");
//On crée la requête préparée SQL
$query = 'SELECT * FROM test WHERE miseenscene=?';
$reponse = $connexion ->prepare ($query);
[b]$reponse -> execute(array($miseenscene));[/b]
// On affiche chaque entrée une à une
while ($donnees = $reponse -> fetch () )
{
?><p>Pièce <strong><?php echo $donnees['nompiece']; ?></strong><br>
La pièce : <?php echo $donnees['nompiece'] ?>, mise en scène par <?php echo $donnees['miseenscene'] ?> , <?php; ?></strong><br>
sera joué le <?php echo $donnees['date1'] ?> et le <?php echo $donnees['date2'] ?> dans la salle <?php echo $donnees['salle'] ;?></strong><br>
Le prix du billet est de : <?php echo $donnees['tarif']; ?></strong><br>
<?php
}
// On termine le traitement de la requête
$reponse ->closeCursor ();
?>
Et Voici la fameuse erreur qui m'est affiché lorsque je rempli, en utilisateur le formulaire:
( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.test' doesn't exist' in C:\wamp\www\L2ASCIONE_TPMT\tpmt_requete.php on line 19
( ! ) PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.test' doesn't exist in C:\wamp\www\L2ASCIONE_TPMT\tpmt_requete.php on line 19
Call Stack
# Time Memory Function Location
1 0.0017 255352 {main}( ) ..\tpmt_requete.php:0
2 0.0173 266296 execute ( ) ..\tpmt_requete.php:19
Merci d'avance pour votre aide !
