Accès aux tables ?

Répondre
ricogodoy
le 14/10/2006 à 15:27
ricogodoy
Je suis novice en PHP. J'ai acheté un boitier Nas chez Synology qui permet d'heberger un site en PHP. Après plusieurs heures a essayé de comprendre PhpMyAdmin, j'ai installé un petit script de forum pour faire un essai.
Pour simplifier les choses dans un premier temps je n'ai modifié aucun accès. Tous les droits sont donc encore actifs au login "root" et pass "".
Je crée une nouvelle base de donnée nommée forum, et j'edite le fichier de connexion du script.
Host : localhost
user: root
pass: ""
base: forum
J'enregistre et je lance le fichier d'install. Les tables se créent comme annoncée.
Mais au moment d'inscrire le premier forum, un message d'erreur apparait:
Erreur SQL !INSERT INTO forum VALUES('','forum')
Column count doesn't match value count at row 1

Je suppose (traduction) qu'il n'arrive pas a ecrire dans la table. J'ai essayé de bidouiller pendant des heures en vain. J'ai installé 5 forum différents, le message est différent suivant celui utilisé, mais ca ne marche jamais. La bidouille ne suffit plus...

1-Quelqu'un peut-il m'expliquer d'ou vient le problème ?
2-Je recherche une traduction pour la notice de PhpMyAdmin. Donc si vous avez un lien a me donner.
LA GLOBULE
le 14/10/2006 à 16:03
LA GLOBULE
Erreur SQL !INSERT INTO forum VALUES('','forum')
Column count doesn't match value count at row 1

Clairement, il ne s'agit pas d'un problème de connexion à la base de données, mais d'un problème de conception du forum.

En gros, le code PHP de ton forum essaye d'écrire dans la table SQL 'forum' un enregistrement à deux entrées (les VALUES).
Or, dans MySQL, ta table 'forum' ne contient pas que deux entrées. Soit elle en a plus, soit elle en a moins (ca, je ne peux pas te le dire, je n'ai pas ton PHPMyAdmin sous les yeux, et je ne sais pas quel forum tu as installé).

Conclusion, c'est ton forum qui est mal codé (ou mal pensé, ou bien tu as une version foireuse de ce forum).

Pour résoudre ton problème, il faudrait clairement demander un fix de la part du concepteur du forum.
ricogodoy
le 14/10/2006 à 16:11
ricogodoy
Merci pour ta réponse. Je vais refaire un essai avec le forum que tu proposes... en espérant qu'une autre erreur n'apparaitra pas !
ricogodoy
le 15/10/2006 à 13:48
ricogodoy
Je constate que le forum qui ne fonctionne pas est celui que j'ai téléchargé sur ton site. Je l'ai réinstallé plusieurs fois et le même message revient a chaque fois.
Je suppose que le script de ton forum est correct sinon tu aurais été mis au courant.
D'ou ce problème peut-il venir ? As-tu besoin d'infos supplémentaires ?
ricogodoy
le 15/10/2006 à 17:10
ricogodoy
En fait c'est le script que j'ai trouvé sur ce site : ! M@N FORUM
Celui que tu proposes
i M@N
le 15/10/2006 à 17:54
i M@N
Hello !

Arf ... va falloir virer ce script La Globule ... il est tout bugué. :(

Mais au moment d'inscrire le premier forum, un message d'erreur apparait:
Erreur SQL !INSERT INTO forum VALUES('','forum')
Column count doesn't match value count at row 1


il y a là 2 problèmes.

- Le premier concerne index.php et la déclaration de la fonction sscanf() dont l'utilisation a été modifiée dans les dernières versions de php,
il faut enlever les & :
<?php
sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s", $annee, $mois, $jour, $heure, $minute);
?>


- Le second concerne insert_forum_traitement.php :
Dans le fichier insert_forum_traitement.php ligne 28
il faut remplacer :
<?php
/*lancement de la requête d'insertion (pour la table forum_sujets)*/
$sql = "INSERT INTO forum VALUES('','$titre')";
?>


par
<?php
/*on recupere la date de l'instant présent*/
$date = date("Y-m-d H:i:s");
/*lancement de la requête d'insertion (pour la table forum_sujets)*/
$sql = "INSERT INTO forum VALUES('','$titre','$date')";
?>


Désolé, j'avais codé trop vite et/ou mal. :-/

@+...
One Love, One Heart, One Unity.
ricogodoy
le 15/10/2006 à 18:31
ricogodoy
Effectivement c'est nettement mieux désormais ... mais malheureusement je ne vois aucun lien pour ecrire un message ...
N'y a t'il pas encore un problème ? Eventuellement si vous voulez pas vous prendre la tête avec ce script, en auriez-vous un a me conseiller ?
moogli
le 17/10/2006 à 12:55
moogli
salut,

Iman plutot que de virer le script, une mise à jour, soit en modifiant, comme tu l'indique, l'utilisation de sscanf (ou en précisant qu'il y a eu de modif d'utilisation).
Soit simplement en virant le sscanf et en utilisant le DATE_FORMAT de mysql :)

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours