-2
У меня проблема:Mysql INSERT into AND php
Я создал таблицу emprunt. Эта таблица имеет два внешних ключа: «Livre_ISBN» и «adherents_login».
Моя проблема заключается в том, что не получается никаких результатов, когда я хочу вставить новую «emprunt» в свою таблицу.
Мой код:
<?php
include ("config.php");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Emprunter un livre</title>
<link rel="stylesheet" type="text/css" href="accueil.css" />
</head>
<body> \t
<?php
//récupération des valeurs des champs:
// session
$login = $_SESSION['login'];
//titre:
$titre = $_POST["titre"] ;
// création de la requête sql
$isbn = 'SELECT isbn FROM livre WHERE titre = "'.$titre.'" ';
//exécution de la requête SQL:
$result = mysql_query($isbn);
$array = mysql_fetch_array($result);
$isbn1=$array['isbn'];
// Ajout de l'emprunt dans la base
$sqle = 'INSERT INTO emprunt (date_emprunt, date_retour, adherents_login, livre_ISBN)
VALUES ('NOW()', 'NOW() + INTERVAL 10 DAY', "'.$login.'", "'.$isbn1.'") ' ;
//exécution de la requête SQL:
$requete = mysql_query($sqle) or die(mysql_error()) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("Vous avez jusqu'à 10 jours pour rendre le livre") ;
?>
<br><br><a href="libraire.php">Page Libraire</a>
<?php
}
else
{
echo("L'emprunt' a échoué") ;
?>
<br><br><a href="libraire.php">Page Adherents</a>
<?php
}
?>
</body>
</html>
Большое спасибо, если вы обнаружите, почему этот код не работает.
Ваших процитировать немного перепутались. Удалите кавычки, связанные с собственными функциями MySQL 'NOW()' и 'NOW() + INTERVAL 10 DAY' –
См. [Когда использовать одинарные кавычки, двойные кавычки, обратные ссылки] (http://stackoverflow.com/a/11321508/ 541091) для некоторых примеров. –
См. Также [Как предотвратить SQL-инъекцию в PHP] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php). Прямо сейчас, ваш код уязвим для SQL-инъекции, особенно потому, что '$ titre' не отображается. Это было бы подходящее время для начала обучения и перехода на PDO с подготовленными инструкциями, поскольку старый API mysql _ *() был устаревшим. –