Besoin d'aide, problème MySQL et POST

Fermé
The Boyy - 24 nov. 2010 à 00:55
 The Boyy - 24 nov. 2010 à 19:45
Bonjour,

J'ai encore besoin d'aide,
Voici mon code
<?php
try
{
		$bdd = new PDO('mysql:host=localhost;dbname=site', 'root','');
}
catch(Exception $e)
{
		die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO ?(titre, contenu, presentation) VALUES(?, ?, ?)');
$req->execute(array($_POST['page'], $_POST['titre'], $_POST['lien'], $_POST['présentation']));

header('Location: controlpanel.php');
?>

Plutôt court mais sensé être efficace, il ne renvoie aucune erreur mais surprise quand je vais dans la table il n'y a RIEN, que faire ? Mes variables ne sont pas vides je pense, je les ai remplies à l'aide de formulaires sur une page juste avant sous la forme
<form action="envoi.php" method="post">
				<p>
				<center><label for="titre">Titre de la vidéo</label> : <input type="text" name="titre" id="titre" /><br/>
				<label for="lien">Insérez le lien de la vidéo</label> : <br/>
				<textarea rows="1" cols="50" type="text" name="lien" id="lien"/></textarea><br/>
				<label for="présentation">Présentation</label> : <br/>
				<textarea rows="10" cols="50" type="text" name="présentation" id="présentation"/></textarea><br/>
				<label for="page">Dans quelle partie souhaites tu rajouter une vidéo ?</label><br />
					<select name="page" id="page">
					<optgroup label="Vidéos">
						<option value="poops">Poops</option>
						<option value="autres">Autres</option>
						<option value="fetes">Spécial Fêtes</option>
						<option value="guitarsora">Spécial Guitarsora</option>
						<option value="meilu">Spécial Meilu</option>
					</optgroup>
					<optgroup label="Vidéos Léopold">
						<option value="autresl">Autres Léopold</option>
						<option value="philol">Léopold Et La Philosophie</option>
						<option value="publ">Léopold Et Les Pubs</option>
						<option value="debutsl">Débuts De Léopold</option>
						<option value="jeul">Léopold Joue</option>
					</optgroup>
					</select>
					<br/><br/>
				</p>

				<input type="submit" value="Valider" />


Si quelqu'un trouve ce qui ne va pas je serais très content. Merci d'avance
Bonne soirée, enfin plutôt bonne nuit maintenant je n'ai pas vu le temps passer avec ce travail...

A voir également:

4 réponses

lofawu Messages postés 101 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 12 décembre 2012 9
Modifié par lofawu le 24/11/2010 à 09:06
Je crois que c'est ça :

$req = $bdd->prepare('INSERT INTO ?(titre, contenu, presentation) VALUES(?, ?, ?)');

met le nom de ta table à la place de ton point d'interrogation... si ça ne marche toujours pas insert un or die
0
Bah le problème c'est le nom de la table est sensé être aussi choisi par l'utilisateur, sinon peut être un switch ???

Merci
0
lofawu Messages postés 101 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 12 décembre 2012 9
24 nov. 2010 à 18:05
Dans ce cas stocke l'info de la table dans une variable

par exemple l'utilisateur dit "chocolat" :

$variable = $_POST['table'];

ou sinon si tu passe l'info par l'url

$variable = $_GET['table'];

Bref je pense que tu connais ça....

$req = $bdd->prepare('INSERT INTO '''.$variable.'''(titre, contenu, presentation) VALUES(?, ?, ?)');
0
Merci beaucoup c'était ça mon problème :D J'ai trouvé ça me fait $table=$_POST['page'] (grâce au formulaire précédent)
puis $req=$bdd->prepare('INSERT INTO ".$table."(................. etc );

Merci encore
0