Problème php mysql
Résolu/Fermé
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
-
Modifié par mentir le 31/05/2015 à 12:07
mentir Messages postés 307 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 8 octobre 2019 - 1 juin 2015 à 21:40
mentir Messages postés 307 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 8 octobre 2019 - 1 juin 2015 à 21:40
A voir également:
- Problème php mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Mysql gratuit ou payant - Forum MySQL
- Bouton php - Forum PHP
- Php?id=1 - Forum PHP
5 réponses
hharchi9
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
24
31 mai 2015 à 22:35
31 mai 2015 à 22:35
Bonsoir,
Tout d'abord, sachez que l'extension que vous utilisez pour vous conecter à Mysql est obsolète, préférez utiliser PDO( https://www.php.net/manual/fr/book.pdo.php ).
Ainsi, votre script devient à peu près ceci :
Tout d'abord, sachez que l'extension que vous utilisez pour vous conecter à Mysql est obsolète, préférez utiliser PDO( https://www.php.net/manual/fr/book.pdo.php ).
Ainsi, votre script devient à peu près ceci :
<?php session_start(); $_POST['steamid'] = 'STEAM_lol'; try { // On se connecte à MySQL $bdd = new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(Exception $e) { // En cas d'erreur, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } //On "neutralise" les caractères spéciaux $steamid= htmlspecialchars(strip_tags($_GET['steamid'])); //Vérification de l'id $query=$bdd->prepare('SELECT COUNT(*) AS nbr FROM fk-gaming WHERE steamid =:steamid'); $query->bindValue(':steamid',$steamid, PDO::PARAM_STR); $query->execute(); $steamid_free=($query->fetchColumn()==0)?1:0; $query->CloseCursor(); if(!$steamid_free) { //on affiche l'id echo $steamid; } else //Sinon { echo 'Ce Steam id existe deja'; }?>
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
22
Modifié par mentir le 1/06/2015 à 11:50
Modifié par mentir le 1/06/2015 à 11:50
J'ai plusieurs erreurs quand j'ai essayé avec ce script, j'ai bien ajouté les variables host, user, etc. Mais ça ne marche pas, voici les erreurs :
( ! ) Notice: Undefined index: steamid in C:\wamp\www\session-destroy.php on line 22
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-gaming WHERE steamid =''' at line 1' in C:\wamp\www\session-destroy.php on line 27
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-gaming WHERE steamid =''' at line 1 in C:\wamp\www\session-destroy.php on line 27
Merci d'avance
( ! ) Notice: Undefined index: steamid in C:\wamp\www\session-destroy.php on line 22
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-gaming WHERE steamid =''' at line 1' in C:\wamp\www\session-destroy.php on line 27
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '-gaming WHERE steamid =''' at line 1 in C:\wamp\www\session-destroy.php on line 27
Merci d'avance
blackduck
Messages postés
817
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
96
1 juin 2015 à 12:06
1 juin 2015 à 12:06
Hello,
Dans ton code à la 3e ligne tu définis
Mais lorsque tu instancie ta variable $steamid tu utilises $_GET
Dans ton code à la 3e ligne tu définis
$_POST['steamid'] = 'STEAM_lol';
Mais lorsque tu instancie ta variable $steamid tu utilises $_GET
$steamid= htmlspecialchars(strip_tags($_GET['steamid']));
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
22
1 juin 2015 à 12:11
1 juin 2015 à 12:11
Merci de votre aide, un problème résolu mais il reste les deux autres problèmes qui sont toujours présent.
hharchi9
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
24
1 juin 2015 à 12:22
1 juin 2015 à 12:22
En effet, j'ai repris un code déjà existant en oubliant de changer cette ligne.
Si le sujet est résolu, ne pas oublier de le signaler (en haut du sujet).
Bonne continuation.
Si le sujet est résolu, ne pas oublier de le signaler (en haut du sujet).
Bonne continuation.
blackduck
Messages postés
817
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
96
1 juin 2015 à 12:20
1 juin 2015 à 12:20
Re,
Change le nom de table "fk-gaming" car le '-' est interprété comme une soustraction même pour les noms de tables.
https://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie1#L1
Change le nom de table "fk-gaming" car le '-' est interprété comme une soustraction même pour les noms de tables.
https://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie1#L1
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
22
1 juin 2015 à 12:44
1 juin 2015 à 12:44
Je vous remercie, j'essaye cela et ensuite je vous tiens au courant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
22
Modifié par mentir le 1/06/2015 à 13:08
Modifié par mentir le 1/06/2015 à 13:08
Merci beaucoup, le problème est quasi-ment résolu. Mais j'ai un message qui m'affiche la valeur de la variable steamid au lieu de m'afficher le steam id existe déjà, pourquoi ainsi ? J'ai pourtant bien mis STEAM_lol dans ma colonne steamid de ma base de donnée.
Cordialement,
Cordialement,
hharchi9
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
24
1 juin 2015 à 13:30
1 juin 2015 à 13:30
Oui, l'erreur provient de mon script j'ai inversé les deux conditions. Vous pouvez soit intervertir les deux echo où bien enlever le "!" dans le if
mentir
Messages postés
307
Date d'inscription
dimanche 13 décembre 2009
Statut
Membre
Dernière intervention
8 octobre 2019
22
1 juin 2015 à 21:40
1 juin 2015 à 21:40
Merci beaucoup, maintenant tout marche et je vous en remercie !
Bonne continuation
Bonne continuation
1 juin 2015 à 11:33