Voilà j'expose mon soucis sur lequel je me casse la tête depuis des jours :
J'ai une page php avec un formulaire dessus sur lequel je suis censé récuperer des informations.
J'ai une première requete SELECT en dehors du formulaire qui fonctionne parfaitement (le $_POST est récuperé sur à un $.ajax d'une autre page)
$select = $_POST['value'];
$sql = 'SELECT * FROM QUESTION WHERE QUE_ID='.$select;
Hors mon soucis est que lorsque je veux executer une requete en envoyant mon formulaire je n'arrive à lui passer aucune variable PHP, et lorsque que je met des valeurs à la main sans variable ça fonctionne
<button type='submit' name='validerreponse' id='validerreponse'>Ajouter la réponse</button>
<?php
if(isset($_POST['validerreponse'])){
$id=16;
$prereq = "UPDATE question SET QUE_STATUT ='VALIDE' WHERE QUE_ID =".$id;
$req2 = mysql_query($prepreq);
if (!$req2) {
die('Requête invalide : ' . mysql_error());
}
?>
Ici je reçois une erreur "Requete invalide : Query was empty". J'ai essayé plein de syntaxes et rien n'y fais, parfois je n'ai pas d'erreur mais la requete ne fait aucune modification, et le truc bizarre c'est que lorsque je met cette requete en dehors du formulaire sans l'action du bouton, cad juste au lancement de la page ça fonctionne bien...
Si quelqu'un à une idée du pourquoi je serais preneur car là j'avoue que je tourne totalement en rond
Lignes 6 et 7, il y a deux variables différentes : $prereq vs $prepreq.
Je m'attendrais à ce que tu aies une information comme quoi la seconde n'existe pas, mais pour cela il aurait fallu que l'affichage des erreurs PHP soit activé, ce qui n'est apparemment pas le cas.
Le server sur lequel je travail est encore en PHP5 du coup j'etais resté sur du mysql_*
Finalement j'ai un autre problème qui était mon problème de départ avant de me perdre dans plein de tests d'où ma faute de frappe du haut, à savoir que maintenant lorsque j'execute la requête avec le $select (au lieu du $id dans mon code du dessus) que je récupère de mon $_POST issue de mon ajax il m'indique l'erreur suivante : "Requete invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
On dirait qu'il ne prend pas mon $select comme un entier, et si je met des qotes pour ne plus avoir l'erreur rien ne se passe en base du coup. Pourtant je récupère bien une valeur dans mon $select puisque j'arrive à l'afficher sur la page pour tester -> Est-ce que lorsqu'on envoi un formulaire les données du précédant formulaire disparaissent ??
$select = $_POST['value'];
if(isset($_POST['validerreponse'])){
$prereq = "UPDATE question SET QUE_STATUT ='VALIDE' WHERE QUE_ID =".$select;
$req2 = mysql_query($prereq);
if (!$req2) {
die('Requête invalide : ' . mysql_error());
}
header('Location:http://srvphp5/vhosts/intranet-preprod/rgpd/index2.php');
}
J'ai même tenter de mettre mon $select dans un element du formulaire pour le récuperer en $_POST mais celà n'y fais rien non plus
le $_POST['value'] existe bien puisque je m'en sert au lancement de la page avec $sql = 'SELECT * FROM QUESTION WHERE QUE_ID='.$select; et cette requete fonctionne bien.
Lorsque je fais ma requete au chargement de la page elle fonctionne bien, en revanche lorsque je l'execute en passant par l'action du bouton sur mon nouveau formulaire ça ne passe plus comme si du coup mon $_POST['value'] n'etait plus reconnu
S'il y a une nouvelle requête HTTP entre temps, elle n'en existe plus sauf si tu la fais retransiter via un champ caché (voire autre si tu utilises du JS).
S'il y a une nouvelle requête HTTP entre temps, elle n'en existe plus sauf si tu la fais retransiter via un champ caché (voire autre si tu utilises du JS).
C'est parfait ça fonctionne, j'avais pourtant testé dans input text pour voir et ça n'avait pas fonctionné. Merci pour l'aide tu me débloque grandement !
Problème de requête SQL en PHP
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli