Aider moi la requette sql ne fonctionne pas
Résolu
rashaslm
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
nagaD.scar Messages postés 4500 Statut Membre -
nagaD.scar Messages postés 4500 Statut Membre -
bonjour mes amis, bon je viens de faire mon premier projet en PHP, "gestion des absences" dans un département bien précis, donc le prof pour ajouter une absence il choisi son type(tp,td), le module, le groupe, et la date après il fait un ajout mais dans la base de donnée et ne fait pas ce ajout malgré il ne rien affiche ni erreur ni warning voila mon code :
page login:
page ajouter seance:
code ajouter absence:
page login:
<?php
session_start() ?>
<!DOCTYPE html>
<html>
<head>
<title>Univ_Login</title>
<link rel="stylesheet" type="text/css" href="login.css">
</head>
<body>
<fieldset>
<form action="redirection.php" method="post">
<input type="text" name="user" id="user" placeholder="user" required autofocus autocomplete>
<br><br>
<input type="password" name="passeword" id="passeword" placeholder="passeword" required >
<br><br>
<input type="radio" id="v1" name="type" value="admin">
<label for="v1">admin</label>
<input type="radio" id="v2" name="type" value="etudiant" checked>
<label for="v2">etudiant</label>
<input type="radio" id="v3" name="type" value="enseignent">
<label for="v3">enseignent</label>
<br><br>
<input type="submit" name="sub" value="connecter">
</form>
</fieldset>
</body>
</html>
page ajouter seance:
<?php
session_start() ?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>ajouter un Seance</h1>
<form action="ajouterAbsence.php" method="post">
<strong>type de la seance : </strong>
<input type="radio" id="v1" name="typeS" value="tp">
<label for="v1">TP</label>
<input type="radio" id="v2" name="typeS" value="td" checked>
<label for="v2">TD</label>
<br>
<strong>Module : </strong>
<input list="module" name="module" required>
<datalist id="module">
<option value="asd">
<option value="poo">
<option value="si">
<option value="algo">
</datalist>
<br>
<strong>Groupe : </strong>
<input list="groupe" name="groupe" required>
<datalist id="groupe">
<option value="1">
<option value="2">
<option value="3">
<option value="4">
</datalist>
<br>
<input type = "date" name ="date" required >
<br>
<input type="submit" value="crée seance">
</form>
</body>
</html>
code ajouter absence:
<?php
session_start();
$_SESSION['module']=$_POST['module'];
$_SESSION['groupe']=$_POST['groupe'];
$_SESSION['type']=$_POST['typeS'];
$_SESSION['date']=$_POST['date'];
try {
$_bdd= new PDO('mysql:host=localhost;dbname=univ2;charset=utf8','root','');
$_bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
$_bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
} catch (Exception $e) {
echo "erreur de connexion a la base de donnée";
}
$rech=$_bdd->prepare('select * from module where nom_module = ?');
$rech->execute(array($_SESSION['module']));
$_aff=$rech->fetch();
$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent) VALUES ('9',:jour,:type,:id_module,:groupe,:id_enseignent)');
$req->execute(array(
'jour'=>$_SESSION['date']),
'type'=> $_SESSION['type'],
'id_module'=>$_aff['id_module'],
'groupe'=>$_SESSION['groupe'],
'id_enseignent'=>$_SESSION['user']));
echo $_SESSION['type'].$_aff['id_module'].$_SESSION['groupe'].$_SESSION['user'].$_SESSION['date'];
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="ajoutBD.php" method="post">
</form>
</body>
</html>
A voir également:
- Aider moi la requette sql ne fonctionne pas
- Logiciel sql - Télécharger - Bases de données
- Unable to extract temporary files for microsoft sql server express 2022 - Forum SQL Server
- Sql server ne démarre pas ✓ - Forum SQL Server
- Services sql server ne démarrent pas automatiquement - Forum Windows serveur
- Sql (+) - Forum Programmation
3 réponses
salut,
rapidement je dirai que le problème vient de ton insert: il faut échapper les < ' > :
devient :
naga
rapidement je dirai que le problème vient de ton insert: il faut échapper les < ' > :
$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent) VALUES ('9',:jour,:type,:id_module,:groupe,:id_enseignent)');
devient :
$req = $_bdd->prepare('INSERT INTO seance (jour,type,id_module,groupe,id_enseignent) VALUES (\'9\',:jour,:type,:id_module,:groupe,:id_enseignent)');
naga
yg_be
Messages postés
23437
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 587
bonjour, je suggère de lire et d'appliquer ceci: PDO - Gérer les erreurs
yg_be
Messages postés
23437
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 587
et ainsi?
$req = $_bdd->prepare('INSERT INTO seance (jour, type_seance, id_module,groupe,id_enseignent) VALUES (:jour,:type,:id_module,:groupe,:id_enseignent)');
il ne faut probablement pas fermer la parenthèse en ligne 27 du code ajouter absence.
"t_double_arrow", cela veut dire "=>"
voila :
Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\wamp\www\univ_abs\profile\prof_ens\ajouterAbsence.php on line 31
et la ligne 31 c est la suivante :
'type'=> $_SESSION['type'],