Bonjour,
J'essaye d'enregistrer une ip dans ma BDD lorsqu'un utilisateur se connecte, mais j'ai un problème avec la fonction execute()
Voici le code !
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$db = mysqli_connect('localhost', 'root', 'Administrateur29', 'test');
$req = "UPDATE users
SET ip
=$ip WHERE id=$username";
$update = $db->prepare($requete);
$result = $update->execute();
$stmt = $db->prepare($requete);
$stmt->bindValue('$username');
$result = $stmt->execute();
$data = $stmt->fetch();
?>
En vous remerciant d'avance.
On se calme peut-etre un peu, les integristes du PHP, avant de fondre sur le malheureux développeur amateur comme une tribue de morpions sur un puceau dans une maison close
@François Cammas:
Selon la doc :
mysqli_connect
(PHP 5)
mysqli_connect — Alias de mysqli::__construct()
... Je me plante probablement, mais ca ressemble furieusement a de l'orienté objet, cette classe mysqli ... non ?
@Azalpher: Essaye un truc du genre de ceci. A débugger éventuellement, je le fais de tête.
<?php
$db = mysqli_connect('localhost', 'root', 'Administrateur29', 'test');
// Username à instancier
$stmt = $db->prepare("UPDATE users SET ip=? WHERE id=?");
$stmt->bind_param( $_SERVER['REMOTE_ADDR'], $username );
$stmt->execute();
$stmt->close();
// Il n'y a rien à "fetch" puisque tu fais un UPDATE et non un SELECT
?>
Ton code est très bizarre...
Dans tous les cas cela ne peux pas fonctionner:
$req = "UPDATE users SET ip=$ip WHERE id=$username";
$update = $db->prepare($requete); // il vient d'ou le $requete ?
De plus tu utilise des prepared query sans aucun bind. Cela ne sert a rien.
Donc je pense que tu devrai revoir un petit tuto: http://openclassrooms.com/courses/maitrisez-mysqli-sans-poo
Voila voila ;)
Comme l'a dit Hannibal, d'où provient ta variable? Tu nous a mis qu'un fragement de code? :/
Bonjour,
Comme dit précédemment, $requete est une variable inconnu.
En corrigeant $req par $requete, cela devrait corriger votre problème.
ta variable que t'essaies d'envoyer n'existe pas. Lis les erreurs avant de venir sur un forum. a+
Et alors ! On a tous débuter un jour. Pas la peine de le prendre pour un c##....
Vu vos critiques, je ne m'étonnerai pas qu'il ne revienne jamais sur le forum.
Cool les mecs
@Vallyan tant qu'à faire bind aussi username on ne sais pas comment il est récup donc autant le protéger aussi
J'ai retiré mes posts. Je sais c'est pas bien ce que j'ai fait. Surtout quand j'ai tort !!!