Probleme avec chatbox
Résolu/Fermé
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
-
24 juil. 2016 à 14:07
LeaDerzRS6 Messages postés 55 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 23 octobre 2016 - 24 juil. 2016 à 18:43
LeaDerzRS6 Messages postés 55 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 23 octobre 2016 - 24 juil. 2016 à 18:43
4 réponses
Utilisateur anonyme
24 juil. 2016 à 15:50
24 juil. 2016 à 15:50
Bonjour
A priori, tu as une erreur PHP, je ne sais pas ce que ta question fait dans la rubrique javascript.
Tu n'utilises pas correctement ta connexion à la base de données : d'après le message, c'est une ressource, et toi tu l'utilises comme un objet.
Peux tu montrer ton connect.php ? En cachant tes identifiants, évidemment.
A priori, tu as une erreur PHP, je ne sais pas ce que ta question fait dans la rubrique javascript.
Tu n'utilises pas correctement ta connexion à la base de données : d'après le message, c'est une ressource, et toi tu l'utilises comme un objet.
Peux tu montrer ton connect.php ? En cachant tes identifiants, évidemment.
Utilisateur anonyme
24 juil. 2016 à 17:12
24 juil. 2016 à 17:12
Tu fais une utilisation incorrecte de mysql.
Il existe plusieurs interfaces pour utiliser mysql avec PHP, et tu en mélanges plusieurs. Tu te connectes avec l'ancienne bibliothèque mysql, dont l'utilisation est aujourd'hui fortement déconseillée, puis tu utilises cette connexion comme un objet PDO.
Il faut te connecter avec l'interface PDO :
Après ça, ton $query = $connect->query(... a plus de chances de marcher.
Remarque : j'ai mis dans cet exemple de connexion mes options habituelles, mais ce sont des options, à toi de voir tes besoins.
https://www.php.net/manual/fr/ref.pdo-mysql.php
Il existe plusieurs interfaces pour utiliser mysql avec PHP, et tu en mélanges plusieurs. Tu te connectes avec l'ancienne bibliothèque mysql, dont l'utilisation est aujourd'hui fortement déconseillée, puis tu utilises cette connexion comme un objet PDO.
Il faut te connecter avec l'interface PDO :
$host='localhost'; $nombase='sy5aip37ra8s3t6597p3'; $user='root'; $pass=''; try { $connect = new PDO("mysql:host=$host;dbname=$nombase", $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES utf8")); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $e) { print "Erreur ! : " . $e->getMessage() . "<br/>"; die(); }
Après ça, ton $query = $connect->query(... a plus de chances de marcher.
Remarque : j'ai mis dans cet exemple de connexion mes options habituelles, mais ce sont des options, à toi de voir tes besoins.
https://www.php.net/manual/fr/ref.pdo-mysql.php
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
Modifié par LeaDerzRS6 le 24/07/2016 à 17:23
Modifié par LeaDerzRS6 le 24/07/2016 à 17:23
oui merci desoler mais je change pas trop mais habitude tout mes connect sont comme sa ^^ et maintenant cela met une autre erreur dans mon while
Fatal error: Call to a member function fetch() on boolean in C:\xampp\htdocs\rs\pages\recup_msg.php on line 28
Fatal error: Call to a member function fetch() on boolean in C:\xampp\htdocs\rs\pages\recup_msg.php on line 28
<?php $host='localhost'; $nombase='sy5aip37ra8s3t6597p3'; $user='root'; $pass=''; try { $connect = new PDO("mysql:host=$host;dbname=$nombase", $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES utf8")); } catch (PDOException $e) { print "Erreur ! : " . $e->getMessage() . "<br/>"; die(); } $query = $connect->query(" SELECT messages_chatbox.id, messages_chatbox.message_membre, utilisateurs.id, utilisateurs.pseudo, FROM messages_chatbox INNER JOIN utilisateurs ON utilisateurs.id = messages_chatbox.id ORDER BY temps DESC "); $messages = array(); while($rows = $query->fetch()){ //ligne 28 $messages[] = $rows; } foreach ($messages as $message){ ?> <a href='#' rel="nofollow" target="_blank"><?php echo $message['pseudo']; ?></a> <p><?php echo nl2br($message['message_membre']); ?></p> <?php } ?>
Utilisateur anonyme
24 juil. 2016 à 17:48
24 juil. 2016 à 17:48
tout mes connect sont comme sa : Alors, ce sont tes query qui ne sont pas comme ça, les deux sont absolument incompatibles.
Je m'aperçois que j'ai mal modifié mon script quand je te l'ai donné. Il fallait mettre $connect->setAttribute au lieu de $pdo->setAttribute.
Pour voir ton erreur, remet
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Ça ne va pas la corriger, mais ça devrait te dire ce qui ne va pas.
Je m'aperçois que j'ai mal modifié mon script quand je te l'ai donné. Il fallait mettre $connect->setAttribute au lieu de $pdo->setAttribute.
Pour voir ton erreur, remet
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Ça ne va pas la corriger, mais ça devrait te dire ce qui ne va pas.
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
24 juil. 2016 à 17:51
24 juil. 2016 à 17:51
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 MariaDB server version for the right syntax to use near 'FROM messages_chatbox INNER JOIN utilisateurs ON utilisateurs.id = messages_cha' at line 6' in C:\xampp\htdocs\rs\pages\recup_msg.php:28 Stack trace: #0 C:\xampp\htdocs\rs\pages\recup_msg.php(28): PDO->query('\r\nSELECT \r\nmess...') #1 {main} thrown in C:\xampp\htdocs\rs\pages\recup_msg.php on line
premiere fois que cela me met cette erreur je suis un peu perdu pour juste crée ma chat box :/
Utilisateur anonyme
24 juil. 2016 à 18:07
24 juil. 2016 à 18:07
C'est la première fois que ça te le fait ? pour "juste" créer une chat box
Cesse de parler comme si tu avais l'habitude, car visiblement tu ne l'as pas. Il n'y a pas de honte à débuter.
Si ça te fait ça, ce n'est pas parce que le sort s'acharne contre toi, c'est parce que tu fais des erreurs. En l'occurrence, tu as une virgule en trop avant le FROM.
Cesse de parler comme si tu avais l'habitude, car visiblement tu ne l'as pas. Il n'y a pas de honte à débuter.
Si ça te fait ça, ce n'est pas parce que le sort s'acharne contre toi, c'est parce que tu fais des erreurs. En l'occurrence, tu as une virgule en trop avant le FROM.
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
24 juil. 2016 à 18:10
24 juil. 2016 à 18:10
waw excuse moi mais je ne voulais pas te faire comprendre sa juste je code de temps en temps pour m’améliorer etc peut être j'ai le niveau d'un débutant je ne sur estime pas mais merci beaucoup de m'avoir aider j'ai trouver ma faute et cela fonctionne niquel :)
Merci aussi d'avoir prit ton temps pour m'expliquer un peu.
Bonne soirer
Merci aussi d'avoir prit ton temps pour m'expliquer un peu.
Bonne soirer
Utilisateur anonyme
>
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
24 juil. 2016 à 18:34
24 juil. 2016 à 18:34
Pas de problème.
Bonne soirée à toi aussi et bonne continuation.
Bonne soirée à toi aussi et bonne continuation.
LeaDerzRS6
Messages postés
55
Date d'inscription
mercredi 2 juillet 2014
Statut
Membre
Dernière intervention
23 octobre 2016
24 juil. 2016 à 18:43
24 juil. 2016 à 18:43
merci
24 juil. 2016 à 16:51