UPDATE et INSERT INTO ne fonctionnent pas
Posté : 19 avr. 2006, 13:11
Je livre ci-dessous un extrait de mon espace membre :
La consultation :
Par contre les ajout et modif :
La chaine de connexion à la base doit être bonne puisqu'elle fonctionne pour la consultation.
Alors une erreur de syntaxe ?
A moins qu'il existe un verrouillage "lecture seul" sur la base ?
Amicalement
Stéphane
PS : J'espère avoir posté dans le bon fil
<?php
if (!isset($_SESSION["login"]))
{
session_start();
}
include ("../MySql.inc.php");
include ("adresse_saisie.php");
include ("../outils/fctphp_verifieur.php");
include ("../outils/fctphp_navigation.php");
// Affectation des variables récupérées du formulaire
$tabAdresse = array();
$tabAdresse["titre"] = $_POST['frm_titre'];
$szNom = $tabAdresse["nom"] = $_POST['frm_nom'];
$szPrenom = $tabAdresse["prenom"] = $_POST['frm_prenom'];
$tabAdresse["jour"] = $_POST['frm_jour'];
$tabAdresse["mois"] = $_POST['frm_mois'];
$tabAdresse["annee"] = $_POST['frm_annee'];
$tabAdresse["ville"] = $_POST['frm_ville'];
$tabAdresse["pays"] = $_POST['frm_pays'];
$tabAdresse["email"] = $_POST['frm_email'];
$szLogin = $tabAdresse["login"] = $_POST['frm_login'];
$tabAdresse["pass01"] = $_POST['frm_pass01'];
$tabAdresse["pass02"] = $_POST['frm_pass02'];
$tabAdresse["annuaire"] = (isset($_POST['frm_annuaire'])) ? TRUE : FALSE;
$tabAdresse["lettre"] = (isset($_POST['frm_lettre'])) ? TRUE : FALSE;
$tabAdresse["IP"] = fctRealIP();
// je vous laisse grace de tous mes test d'intégrité des paramètres saisis par l'utilisateur
...
// Ouverture de la connexion sur la base de données
$nom_de_la_base = "admin";
$cnx = mysql_connect($serveur, $utilisateur, $mot_de_passe);
mysql_select_db($nom_de_la_base, $cnx);
// Teste si login existe déjà
if (!isset($_SESSION["login"]) or $_SESSION["login"] != $tabAdresse["login"])
{
$req = "SELECT * FROM utils WHERE szLogin = '$szLogin'";
$resultat = mysql_query($req, $cnx);
$nbLigne = mysql_num_rows ($resultat);
if ($nbLigne == 1)
{
fctAdrSaisie("", " Vous ne pouvez utiliser ce nom de compte, il est déjà utilisé ! ", $tabAdresse);
exit();
}
}
// Cas de la création d'un compte : nouveau membre
if (!isset($_SESSION["login"]))
{
$req = "INSERT INTO contacts (szPrenom, szNom) VALUES ('$szPrenom', '$szNom')";
$resultat = mysql_query($req, $cnx);
fctAdrSaisie("", " Votre compte a été créé ", $tabAdresse);
echo "Ajout : ".$inCle." ".$szNom." ".$szPrenom;
}
// Cas de la mise à jour d'un compte : membre déjà enregistré
else
{
$inCle = $_SESSION["cle"];
$req = "UPDATE utils SET szNnom = '$szNom', szPrenom = '$szPrenom' WHERE cle = '$inCle'";
$resultat = mysql_query($req, $cnx);
fctAdrSaisie("", " Votre compte a été mis à jour ", $tabAdresse);
echo "Modification : ".$inCle." ".$szNom." ".$szPrenom;
}
MySql_Close ($cnx);
?>
J'ai un soucis d'accès à ma base MySQL (installée avec EasyPhp).La consultation :
$req = "SELECT * FROM utils WHERE szLogin = '$szLogin'";
fonctionne correctement sur un enregistrement saisis dans MySqlPar contre les ajout et modif :
$req = "INSERT INTO contacts (szPrenom, szNom) VALUES ('$szPrenom', '$szNom')";
$req = "UPDATE utils SET szNnom = '$szNom', szPrenom = '$szPrenom' WHERE cle = '$inCle'";
eux ne fonctionne pas : pas de message d'erreur, tous se passe bien, mais la base n'est pas modifiée !!!La chaine de connexion à la base doit être bonne puisqu'elle fonctionne pour la consultation.
Alors une erreur de syntaxe ?
A moins qu'il existe un verrouillage "lecture seul" sur la base ?
Amicalement
Stéphane
PS : J'espère avoir posté dans le bon fil