Probleme avec $conn->query($sql)
Résolu/Fermé
Laeti_NR
-
Modifié le 7 juil. 2017 à 13:11
jordane45 Messages postés 38394 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 janvier 2025 - 12 juil. 2017 à 11:32
jordane45 Messages postés 38394 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 janvier 2025 - 12 juil. 2017 à 11:32
A voir également:
- Télécharger conn: une histoire de fraude
- Téléchargement direct : les bonnes adresses des sites pirates - Accueil - Outils
- Comment télécharger une vidéo youtube - Guide
- Regarder conn: une histoire de fraude - Guide
- Telecharger ccleaner gratuit - Télécharger - Nettoyage
- Telecharger whatsapp pour pc - Télécharger - Messagerie
7 réponses
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
Ambassadeur
1 561
7 juil. 2017 à 15:29
7 juil. 2017 à 15:29
bonjour,
- peux-tu partager le détail de l'erreur "blabla" ?
- es-tu certain que $conn est correctement initialisé?
- je ne comprends pas le lien entre ta description et ton code. veux-tu vraiment récupérer le nom de la personne via son numéro d'identification? si oui, veux-tu faire cela pour un seul numéro d'identification, ou pour tous?
- peux-tu partager le détail de l'erreur "blabla" ?
- es-tu certain que $conn est correctement initialisé?
- je ne comprends pas le lien entre ta description et ton code. veux-tu vraiment récupérer le nom de la personne via son numéro d'identification? si oui, veux-tu faire cela pour un seul numéro d'identification, ou pour tous?
Pour $p c'est le tableau qui contient les ID dont la permission est "yes". Il est initialise au debut de la fonction checkPermissions.
Effectivement je pourrais ajouter son ID, il faut que je trouve ou.. J'ai reprit un projet en cours et c'est pas toujours simple de savoir par ou commencer !!
Effectivement je pourrais ajouter son ID, il faut que je trouve ou.. J'ai reprit un projet en cours et c'est pas toujours simple de savoir par ou commencer !!
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
1 561
7 juil. 2017 à 18:17
7 juil. 2017 à 18:17
si tu veux retrouver où ajouter son ID, tu peux rechercher tous les endroits où tu as une instruction:
$_SESSION['user']=...
Bonjour,
- Voici l'erreur :
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
- $conn = new mysqli($servername, $username, $password, $dbname);
Je pense que c'est ca, non ?
- En fait dans mon fichier perms.txt il y a tous les ID avec les permissions (ex : 521456/yes ; 563218/no ; etc). Quand un utilisateur se connecte, je veux verifier s'il a la permission (d'acceder a une autre page). Du coup, je compare avec tous les IDs qui ont la permission (dans le tableau $p il n'y a que les IDs avec "yes" comme permission -> c'est un premier tri). Le probleme c'est que $_SESSION['user'] me retourne le nom de la personne, pas son ID.. Donc il faut que je check dans ma base de donnees quel nom va avec quel ID..
- Voici l'erreur :
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
- $conn = new mysqli($servername, $username, $password, $dbname);
Je pense que c'est ca, non ?
- En fait dans mon fichier perms.txt il y a tous les ID avec les permissions (ex : 521456/yes ; 563218/no ; etc). Quand un utilisateur se connecte, je veux verifier s'il a la permission (d'acceder a une autre page). Du coup, je compare avec tous les IDs qui ont la permission (dans le tableau $p il n'y a que les IDs avec "yes" comme permission -> c'est un premier tri). Le probleme c'est que $_SESSION['user'] me retourne le nom de la personne, pas son ID.. Donc il faut que je check dans ma base de donnees quel nom va avec quel ID..
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
1 561
Modifié le 7 juil. 2017 à 17:02
Modifié le 7 juil. 2017 à 17:02
en ce qui concerne l'erreur 500 avec $conn, je pense que d'autres pourront mieux t'aider.
cependant, j'ai une suggestion pour le reste de ton code: comme, au départ, tu connais le nom, ne serait-il plus simple et plus clair de commencer par chercher, dans la base de données, l'ID correspondant au nom (
ne penses-tu pas?
cependant, j'ai une suggestion pour le reste de ton code: comme, au départ, tu connais le nom, ne serait-il plus simple et plus clair de commencer par chercher, dans la base de données, l'ID correspondant au nom (
SELECT uid FROM user WHERE ufirstname = $_SESSION['user']). et d'ensuite parcourir le fichier pour trouver la ligne contenant ce uid.
ne penses-tu pas?
Laeti_NR
>
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
8 juil. 2017 à 11:05
8 juil. 2017 à 11:05
Merci pour le conseil, je vais essayer comme ca
jordane45
Messages postés
38394
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 janvier 2025
4 730
7 juil. 2017 à 18:05
7 juil. 2017 à 18:05
Il faudrait que tu nous montres le contenu de ton fichier "connection_DB.php"
Il faudrait aussi que tu gères correctement les erreurs avec mysqli ....
par exemple, pour une requête il faut faire :
et pour une connexion à la bdd "propre" il faut écrire un truc du genre
Ensuite.... il est conseillé de remplacer ton
par
Et enfin.... activer l'affichage des erreurs PHP en plaçant, au début de tes pages php, le code suivante
Il faudrait aussi que tu gères correctement les erreurs avec mysqli ....
par exemple, pour une requête il faut faire :
$sql_perms = "SELECT ufirstname FROM user WHERE uid='".$p[$l]."'"; if (!$mysqli->query($sql_perms)) { printf("Message d'erreur : %s\n", $mysqli->error); }
et pour une connexion à la bdd "propre" il faut écrire un truc du genre
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* Vérification de la connexion */ if ($mysqli->connect_errno) { printf("Echec de la connexion: %s\n", $mysqli->connect_error); exit(); }
Ensuite.... il est conseillé de remplacer ton
include("connection_DB.php");
par
require_once "connection_DB.php";
Et enfin.... activer l'affichage des erreurs PHP en plaçant, au début de tes pages php, le code suivante
<?php error_reporting(E_ALL); ini_set('display-errors','on');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le contenu de mon fichier connection_BD.php
<?php
$servername = "******";
$username = "********";
$password = "********";
$dbname = "********";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->set_charset("utf8"); //Encoding for the database
?>
Ok je vais modifier tout ca, merci pour les conseils
<?php
$servername = "******";
$username = "********";
$password = "********";
$dbname = "********";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->set_charset("utf8"); //Encoding for the database
?>
Ok je vais modifier tout ca, merci pour les conseils
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
1 561
>
Laeti_NR
8 juil. 2017 à 11:38
8 juil. 2017 à 11:38
peux-tu ajouter
print_r($conn);et
print_r($sql_perms);juste avant
$conn->query($sql_perms);, et partager le résultat?
Laeti_NR
>
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
Modifié le 11 juil. 2017 à 11:14
Modifié le 11 juil. 2017 à 11:14
Ca renvoie la meme erreur.. 500 blablabla
Je pense que le probleme c'est $conn mais dans les autres fichiers il est utilise et il fonctionne tres bien..
Je pense que le probleme c'est $conn mais dans les autres fichiers il est utilise et il fonctionne tres bien..
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
Ambassadeur
1 561
8 juil. 2017 à 11:31
8 juil. 2017 à 11:31
pourquoi as-tu -1 dans la ligne ci-dessous?
for ($j=0;$j<count($Champ)-1;$j++)
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
1 561
>
Laeti_NR
11 juil. 2017 à 12:48
11 juil. 2017 à 12:48
je suggère plutôt:
for ($j=0;$j<count($Champ);$j++) { $var=explode("/", $Champ[$j]); if ((count($var)>1) and ($var[1] == 'yes') ) array_push($p, $var[0]); }
Laeti_NR
>
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
11 juil. 2017 à 12:56
11 juil. 2017 à 12:56
Merci, as-tu une idee pour le $conn qui ne fonctionne pas ?
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
1 561
>
Laeti_NR
11 juil. 2017 à 15:56
11 juil. 2017 à 15:56
qu'affichent
print_r($conn);et
print_r($sql_perms);(comme suggéré en #13) ?
Laeti_NR
>
yg_be
Messages postés
23446
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 janvier 2025
12 juil. 2017 à 11:25
12 juil. 2017 à 11:25
C'est bon j'ai trouve, il fallait ramettre include("connection_DB.php") dans la fonction checkPermissions().
jordane45
Messages postés
38394
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 janvier 2025
4 730
7 juil. 2017 à 13:18
7 juil. 2017 à 13:18
Bonjour,
Question bête ...
Sachant que tu stockes, sûrement lors de l'authentification le nom du user en session... $_SESSION['user']; ... pourquoi, à ce moment là ne mets tu pas non plus son uid ??
Ensuite.. concernant ton code actuel...
Dans ta boucle
Que contient $p ? Tu ne l'a initialisé nul part dans ton code....
La variable $p se trouvant dans la fonction checkpermission ayant une portée restreinte à cette fonction....
Question bête ...
Sachant que tu stockes, sûrement lors de l'authentification le nom du user en session... $_SESSION['user']; ... pourquoi, à ce moment là ne mets tu pas non plus son uid ??
Ensuite.. concernant ton code actuel...
Dans ta boucle
for ($l=0;$l<count($p);$l++){
Que contient $p ? Tu ne l'a initialisé nul part dans ton code....
La variable $p se trouvant dans la fonction checkpermission ayant une portée restreinte à cette fonction....