Erreur php/mysql
Résolu/Fermé
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
-
6 juil. 2009 à 10:31
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 - 6 juil. 2009 à 13:56
Tulifer Messages postés 69 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 13 décembre 2009 - 6 juil. 2009 à 13:56
A voir également:
- Erreur php/mysql
- Erreur 0x80070643 - Guide
- Mysql download - Télécharger - Bases de données
- Retour a la ligne php ✓ - Forum PHP
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
12 réponses
resalut
Messages postés
784
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
55
6 juil. 2009 à 10:41
6 juil. 2009 à 10:41
c'est pas = mais == car = veut dire que tu attribue la variable et == dis ke la variable est egale à ...
mais plus simple remplace
if ($donnees['avatar'] = '') // Pas d'avatar donc on insert un le lien de l'image
par
if (empty($donnees['avatar'] )) //Pas d'avatar donc on insert un le lien de l'image
mais plus simple remplace
if ($donnees['avatar'] = '') // Pas d'avatar donc on insert un le lien de l'image
par
if (empty($donnees['avatar'] )) //Pas d'avatar donc on insert un le lien de l'image
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 10:49
6 juil. 2009 à 10:49
Merci de t'as réponse, mais sa ne marche pas.
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 11:19
6 juil. 2009 à 11:19
Ah oui merci bien.
Mais maintenant $avatar_net ne s'enregistre pas pour le if
Mais maintenant $avatar_net ne s'enregistre pas pour le if
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mysql_query("INSERT INTO connexion VALUES avatar='" . $avatar_net . "' WHERE pseudo='".$_SESSION['pseudo']."' ");
Cette requête est incorrecte. Il n'y a pas de WHERE dans un INSERT. En effet, un INSERT crée un nouvel enregistrement, alors que le WHERE teste une condition sur un enregistrement existant.
Si tu cherches à créer un nouvel avatar pour le même pseudo, ce serait plutôt :
mysql_query("INSERT INTO connexion (avatar,pseudo) VALUES ('" . $avatar_net . "','".$_SESSION['pseudo']."')");
Cette requête est incorrecte. Il n'y a pas de WHERE dans un INSERT. En effet, un INSERT crée un nouvel enregistrement, alors que le WHERE teste une condition sur un enregistrement existant.
Si tu cherches à créer un nouvel avatar pour le même pseudo, ce serait plutôt :
mysql_query("INSERT INTO connexion (avatar,pseudo) VALUES ('" . $avatar_net . "','".$_SESSION['pseudo']."')");
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 11:31
6 juil. 2009 à 11:31
En faite ma table est comme ceci
id pseudo passe verif email avatar
Et je veut enregistrer $avatar_net dans avatar. J'avais mis WHERE pseudo='".$_SESSION['pseudo']."' Pour que $avatar_net s'enregistre dans avatar du membre qui est connecté.
PS: j'ai essayé votre code mais il ma créer 3 nouvelle id avec le lien de l'avatar.
id pseudo passe verif email avatar
Et je veut enregistrer $avatar_net dans avatar. J'avais mis WHERE pseudo='".$_SESSION['pseudo']."' Pour que $avatar_net s'enregistre dans avatar du membre qui est connecté.
PS: j'ai essayé votre code mais il ma créer 3 nouvelle id avec le lien de l'avatar.
Normal, si tu as une premier enregistrement avec un pseudo mais sans avatar, chaque appel va faire un INSERT. Mais c'est ton code qui est écrit comme ça.
Dans quel cas veux-tu faire un INSERT et dans quel cas veux-tu faire un UPDATE ?
Dans quel cas veux-tu faire un INSERT et dans quel cas veux-tu faire un UPDATE ?
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 11:47
6 juil. 2009 à 11:47
Bah je veut faire un insert quand l'utilisateur n'as pas encore mis d'avatar et un update quand il veut changer son avatar.
Sinon je vais essayer de faire deux update.
Sinon je vais essayer de faire deux update.
Quand l'utilisateur n'a pas encore mis son avatar, y a-t-il quand même une ligne avec son pseudo dans la table ou non ? Car ça change tes tests et les requêtes à faire.
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 13:38
6 juil. 2009 à 13:38
Oui
Si le pseudo existe déjà, tu n'as qu'un UPDATE à faire, ça ne sert à rien de distinguer le cas où l'avatar est vide de celui où l'avatar n'est pas vide .
Par contre, il ne faut faire cet UPDATE que si le login existe :
$retour = mysql_query('SELECT * FROM connexion WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$donnees = mysql_fetch_array($retour)
if ($donnees !== false ) // le pseudo existe
{
mysql_query("UPDATE connexion SET avatar='" . $avatar_net . "' WHERE pseudo='".$_SESSION['pseudo']."' ");
}
else echo " pseudo inexistant"; // le pseudo n'existe pas
Par contre, il ne faut faire cet UPDATE que si le login existe :
$retour = mysql_query('SELECT * FROM connexion WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$donnees = mysql_fetch_array($retour)
if ($donnees !== false ) // le pseudo existe
{
mysql_query("UPDATE connexion SET avatar='" . $avatar_net . "' WHERE pseudo='".$_SESSION['pseudo']."' ");
}
else echo " pseudo inexistant"; // le pseudo n'existe pas
Tulifer
Messages postés
69
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
13 décembre 2009
1
6 juil. 2009 à 13:56
6 juil. 2009 à 13:56
Ok merci bien :).