Requête PDO dans une base donnée
Posté : 07 janv. 2022, 12:51
Bonjour tout le monde,
J'ai un problème sur un projet que je fait j'espère que vous pourrez m'aider
, je vous explique tout ça:
J'ai deux tables contenues dans une base de donnée et j'aimerais copier une adresse mail contenue dans ma première base "user" pour la mettre dans la seconde "booking" , sachant que j'ai recréé une colonne email du même nom que pour la première base.
J'ai donc fait ma requête après m'être connecté à la base, mais j'ai une erreur de syntaxe que je n'arrive pas à élucider
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '@hotmail .com)' à la ligne 1 in E:\Site\wamp64\www\V2\verif-form.php on line 70
Voici le code:
J'ai un problème sur un projet que je fait j'espère que vous pourrez m'aider
J'ai deux tables contenues dans une base de donnée et j'aimerais copier une adresse mail contenue dans ma première base "user" pour la mettre dans la seconde "booking" , sachant que j'ai recréé une colonne email du même nom que pour la première base.
J'ai donc fait ma requête après m'être connecté à la base, mais j'ai une erreur de syntaxe que je n'arrive pas à élucider
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '@hotmail .com)' à la ligne 1 in E:\Site\wamp64\www\V2\verif-form.php on line 70
Voici le code:
Code : Tout sélectionner
<?php
try
{
$bdd = new PDO("mysql:host=localhost;dbname=song", "root", "");
$bdd ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die("Une érreur a été trouvé : " . $e->getMessage());
}
$bdd->query("SET NAMES UTF8");
if (isset($_GET["s"]) AND $_GET["s"] == "Rechercher")
{
$_GET["terme"] = htmlspecialchars($_GET["terme"]); //pour sécuriser le formulaire contre les failles html
$terme = $_GET["terme"];
$terme = trim($terme); //pour supprimer les espaces dans la requête de l'internaute
$terme = strip_tags($terme); //pour supprimer les balises html dans la requête
}
if (isset($terme))
{
$terme = strtolower($terme);
$select_terme = $bdd->prepare("SELECT Title, Artist, Genre, Album, Year FROM music WHERE Available = 1 AND Title LIKE ? OR Artist LIKE ? OR Year LIKE ? OR Genre LIKE ? OR Album LIKE ?");
$select_terme->execute(array("%".$terme."%", "%".$terme."%", "%".$terme."%", "%".$terme."%", "%".$terme."%"));
}
else
{
$message = "Vous devez entrer votre requete dans la barre de recherche";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8" >
<title>Les résultats de recherche</title>
<link rel="stylesheet" href="style2.css">
<body style="background-color:black";>
</head>
<body>
<?php
while($terme_trouve = $select_terme->fetch())
{
echo "<center><div><h2>".$terme_trouve['Title']."</h2><p>".$terme_trouve['Artist']."</p><p>".$terme_trouve['Genre']."</p><p>".$terme_trouve['Album']."</p><p>".$terme_trouve['Year']."</p></center>s";
$Artist = $terme_trouve['Artist'];
$Title = $terme_trouve['Title'];
}
$select_terme->closeCursor();
?>
<center>
<form action = "Ma bibliothèque.php" method = "get">
<input type = "submit" name = "s" value = "Ajouter au panier">
<?php
$Result = $bdd->query ("SELECT * FROM user WHERE `Statut` = '1' ");
$Resultat = $Result->fetch();
$sql = " INSERT INTO booking (Title, Artist, email) VALUES ('$Title','$Artist',".$Resultat['email'].")";
$ajout = $bdd->prepare($sql);
$ajout->execute();
?>
</form>
</center>
<center>
<form action = "page_principale.php" method = "get">
<input type = "submit" name = "s" value = "retour">
</form>
</center>
</body>
</html>