Merci Moogli je n'avais pas vu que ma table dans PhpMyAdmin n'était pas complète --' maitenant c'est bon, j'ai écrit cette requette prép :
$titre = 'title';
$artiste = 'chanteur';
$id_artiste = 111;
$vues = 0;
$note = 0;
$description = 'petite description';
$adresse_chanson = 'musiques/title';
$style = 'rock';
$insert = $connexion->prepare('INSERT INTO chansons(titre, artiste, id_artiste, date_envoi, vues, note, description, adresse_chanson, style) VALUES(:titre, :artiste, :id_artiste, NOW(), :vues, :note, :description, :adresse_chanson, :style)');
try
{
$insert->execute(array(
'titre' => $titre,
'artiste' => $artiste,
'id_artiste' => $id_artiste,
'vues' => $vues,
'note' => $note,
'description' => $description,
'adresse_chanson' => $adresse_chanson,
'style' => $style
));
}
catch(Exception $e)
{
/* erreur insertion */
echo 'Une erreur est survenue !';
echo 'Erreur : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();
die();
}
Avec des variables bidons, je l'ai mise dans une page a part et elle fonctionne parfaitement !
Alors je l'ai readapaté pour la mettre dans la page d'upload, ce qui donne (la requette) :
if(isset($fichier))
{
// là on est certain que le code entre ces accolades ne s'exécutera que si un fichier à été téléchargé
// suite du code récupération des autres variables et enregistrement en bdd
// Récupération de tes autres valeurs
//on regarde si la description est remplie
if ((isset($_POST['description'])) AND (!empty($_POST['description'])))
{
$description = $_POST['description'];
}
else
{
$description = '';
}
if ((isset($_POST['style'])) AND (!empty($_POST['style'])))
{
$style = $_POST['style'];
}
else
{
$style = '';
$_SESSION['info_style'] = 0;
echo "Veuillez sélectionner un style musical.";
$up->Get_Reload_page();
}
// Connexion à ta bdd
// connexion BDD par PDO
$PARAM_hote='localhost'; // le chemin vers le serveur
$PARAM_port='3306';
$PARAM_nom_bd='monsite'; // le nom de votre base de données
$PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter
$PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter
try{
$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
$connexion -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
/* BDD connectee */
}
catch(Exception $e){
/* erreur connection */
echo 'Une erreur est survenue !';
echo 'Erreur : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();
die();
}
// /fin de la connexion BDD par PDO-->
//exemple de requête avec mysql (protéger les valerurs par mysql_real_escape_string) ou utiliser PDO --> j'utilise PDO::quote
$artiste = $_SESSION['pseudo'];
$id_artiste = $_SESSION['id'];
$adresse_chanson = $dossier.'/'.$fichier;
$insert = $connexion->prepare('INSERT INTO chansons(titre, artiste, id_artiste, date_envoi, vues, note, description, adresse_chanson, style) VALUES(:titre, :artiste, :id_artiste, NOW(), :vues, :note, :description, :adresse_chanson, :style)');
try
{
$insert->execute(array(
'titre' => $titre,
'artiste' => $artiste,
'id_artiste' => $id_artiste,
'vues' => $vues,
'note' => $note,
'description' => $description,
'adresse_chanson' => $adresse_chanson,
'style' => $style
));
}
catch(Exception $e)
{
/* erreur insertion */
echo 'Une erreur est survenue !';
echo 'Erreur : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();
die();
}
$up->Get_Reload_page();
}
Et là toujours aucun message d'erreur, un upload réussi mais rien dans la table ...
Merci
