Update de table qui ne se fait pas
Posté : 25 avr. 2012, 20:42
Bonsoir,
Je suis de retour avec un nouveau problème pour lequel je n'arrive pas à voir ce qui cloche....
J'essaie de faire un update sur une table, en fonction d'arguments récupérés dans une URL.
L'update ne se fait pas, pourtant, lorsque je demande un affichage des erreurs dans la requête, php m'indique 00000, donc tout va bien.
Si j'affiche les arguments au moment du binding, je n'ai rien vu d'anormal.
Rien non plus dans les logs mysql et php.
Si j'exécute la requête directement dans phpmyadmin, cela fonctionne. Il doit donc bien y avoir un problème dans mon code ! Mais où ???
Histoire de repérer le pb =>
Extrait du 1er fichier :
2e fichier :
Merci !
Je suis de retour avec un nouveau problème pour lequel je n'arrive pas à voir ce qui cloche....
J'essaie de faire un update sur une table, en fonction d'arguments récupérés dans une URL.
L'update ne se fait pas, pourtant, lorsque je demande un affichage des erreurs dans la requête, php m'indique 00000, donc tout va bien.
Si j'affiche les arguments au moment du binding, je n'ai rien vu d'anormal.
Rien non plus dans les logs mysql et php.
Si j'exécute la requête directement dans phpmyadmin, cela fonctionne. Il doit donc bien y avoir un problème dans mon code ! Mais où ???
Histoire de repérer le pb =>
Extrait du 1er fichier :
<?php
// Inclusion des fichiers nécessaires
require($_SERVER['DOCUMENT_ROOT']."/classes/class_gestion_sql.php");
require($_SERVER['DOCUMENT_ROOT']."/fonctions/gestion_mysql/gestion_connection.php");
require($_SERVER['DOCUMENT_ROOT']."/fonctions/gestion_users/gene_sql_validation_inscriptionuser.php");
// .....
else
{
// La connection à la base de données a réussi.
// Update de la table pour mettre à jour la validation utilisateur.
$retour = validation_sql_user($req_sql, $_GET['login'], $_GET['idvalid']);
// $retour donne le nombre de lignes qui ont été affectées.
if ($retour == 1)
{
echo "Votre inscription a bien été confirmée. Dès que l'administrateur aura définitivement validé votre inscription, vous en serez informé et pourrez commencer à utiliser le site.";
}
else
{
echo "La confirmation d'inscription a échoué. Veuillez rententer, ou envoyer un message au webmaster.";
}
}
?>
2e fichier :
<?php
function validation_sql_user($req_sql, $login, $idvalid)
{
// Fonction appelée une fois que l'utilisateur a cliqué sur l'URL de confirmation,
// située dans le mail qu'il a reçu suite à son inscription.
// Sert à valider cette action dans la base de données.
$liste_valid = array(
":login" => $login,
":unique_id" => $idvalid,
);
$requete = "UPDATE gen_users SET validation_user = 1 WHERE login = :login AND unique_id = :unique_id";
$retour = $req_sql -> updater($requete, $liste_valid);
return $retour;
}
?>
extrait du 3e fichier : function updater($requete, $param = NULL)
{
$requete = $this -> prepare($requete);
if ($param != NULL)
{
foreach($param as $cle=>$valeur)
{
$requete -> bindParam($cle, $valeur);
}
}
$requete -> execute();
return $requete -> rowCount();
}
A noter que la connexion à la bdd se fait sans problème, elle est utilisée par ailleurs pour faire un SELECT qui donne des résultats corrects.Merci !