un tuto qui ne marche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un tuto qui ne marche pas

par iclo » 29 janv. 2008, 12:28

Normalement, PhpMyAdmin est déja inclus dans easyPhp.

par Incisive » 29 janv. 2008, 12:15

:D
yes j'ai plus ce message, mais un autre est apparu :
erreur insertion 1Champ 'adressepage' inconnu dans field list

(je crois que php doit avoir une dent contre moi !) :twisted:

par d0m » 29 janv. 2008, 12:05

Pour ce qui est de l'erreur :
erreur creation base :Ne peut créer la base 'monsite'; elle existe déjà
Un moyen d'éviter cela est de créer la base seulement si celle ci n'existe pas encore.
Il y a une close SQL faite pour ça : [IF NOT EXISTS]

Code : Tout sélectionner

CREATE DATABASE IF NOT EXISTS monsite

par Incisive » 29 janv. 2008, 12:03

Mais si ! si je ne me trompe pas, j'ai cree mon tableau avec cette ligne, non ?
$tbl=mysql_query ("CREATE TABLE mespages (nompage VARCHAR(40) NOT NULL, adressepage VARCHAR(40) NOT NULL, PRIMARY KEY (nompage))");
Je vais installer et tout ca et je reviens vers vous après :wink:
Merci ![/php]

par Berzemus » 29 janv. 2008, 11:57

hum.. ta DB perdure à travers le temps, une fois crée elle ne s'efface pas à la fin de ton script (encore heureux)..

Ce n'est sans doute pas la première fois que tu exécutes ton script, donc tu as déjà crée ta DB..

En plus, à ce que je vois en vitesse, tu insères des valeurs avant même d'avoir crée des tableaux ?

Attends vraiment d'avoir installé phpmyadmin pour vraiment comprendre comment fonctionne MySQL.. :wink:

par Incisive » 29 janv. 2008, 11:54

Super ! Merci beaucoup pour votre aide et votre patience. Je vais pouvoir reutiliser ces lignes de code à l'avenir, ca me sera surement tres utile.

En attendant d'installer phpmyadmin, j'ai mis les lignes de code en question et voila le message d'erreur qu'il me retourne lorsque je teste la base :
erreur creation base :Ne peut créer la base 'monsite'; elle existe déjà
:shock:

ca voudrait dire que je l'ai appelee deux fois ou quelquechose comme ca ?

par d0m » 29 janv. 2008, 10:43

Il vaut mieux installer une appli qui te permet de voir le contenu de ta base comme le disait iclo.
Ce n'est pas parce que tu lui dit de la faire que c'est forcement fait, il peut y avoir des problèmes d'où l'importance de vérifier et des messages d'erreurs.

d'ailleurs les messages d'erreurs sont ils bien activés? pour être sur place cecii au début de ton code :
<?php
ini_set('display_errors','1');
....
et affiches tous les messages d'erreurs SQL, y compris à la connexion :
$connexion=mysql_connect("localhost","root","") or die('erreur connexion :'.mysql_error());
$db=mysql_query ("CREATE DATABASE monsite") or die('erreur creation base :'.mysql_error());
$db=mysql_select_db("monsite",$connexion) or die('erreur selection base :'.mysql_error()); 
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Accueil','accueil.php')") or die('erreur insertion 1'.mysql_error());
....

par Incisive » 29 janv. 2008, 10:33

ouh la, deja que je me debats avec easy php !
Mais ce qui m'etonne c'est que dans mon code, il n'y a rien de plus que ce que j'ai posté : deux documents. Si le code est bon, comment se peut-il que ca ne marche pas ?

J'ai cherche quelquechose de similaire dans les tutos du site mais je n'ai pas trouvé. D'ailleurs si eventuellement quelqu'un pouvait m'en indiquer un..., je pourrais essayer de comparer les deux et trouver d'ou vient le souci.... ?

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par iclo » 28 janv. 2008, 20:05

Le query sql semble correct (difficile de faire plus simple)
Je dirais que la première chose à faire ce serait de vérifier ce qu'il y a exactement dans la base de donnée, en utilisant par exemple phpMyAdmin

par Incisive » 28 janv. 2008, 17:56

Aie Aie Aie : nb de resultats : 0
Bon bah comme ca, je sais ou ca cloche !
J'en conclus, donc, qu'il faut utiliser une autre commande que celle que j'ai utilisée pour les recuperer... pourrais-tu me l'indiquer s'il te plait ? :roll:

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par d0m » 28 janv. 2008, 17:51

voir déjà si tes résultats sont récupérées en affichant le nombre de résultat:
...
$nb=mysql_num_rows($resultat);
echo 'nb de résultats : '.$nb; 

par Incisive » 28 janv. 2008, 17:46

J'ai rajoute la fonction die mais rien ne change a l'affichage... il n'y peut etre pas d'erreur, c'est juste le texte qui ne s'affiche pas.
Pourtant, ma base donnees est effectivement remplie : j'ai mis cinq noms de rubriques.
(je précise, en plus, que je suis un tuto sur un bouquin, donc theoriquement, le truc de neuneu, y'a aucune raison que ca ne marche pas !) :oops:
c'est vraiment la honte !

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Re: un tuto qui ne marche pas

par d0m » 28 janv. 2008, 16:55

si quelqu'un pouvait me dire ce qui cloche...
PHP et SQL le peuvent.
Affiche déjà les messages d'erreurs, ca te permet de voir d'où vient le problème :
mysql_query(".....") or die(mysql_error());
Ta base est elle crée et rempli?

un tuto qui ne marche pas

par Incisive » 28 janv. 2008, 16:41

Hello,
quitte à avoir l'air ridicule, tant pis...
je me suis tout recemment mise à php5, avec un bouquin comme tuto. Mon problème, c'est que je suis bloquée à la moitié : après avoir refait plusieurs fois l'exercice scrupuleusement, les noms des rubriques que j'ai entrés dans la base de donnees ne s'affichent pas sur ma page index...
est ce que je deviens zinzin ? ou peut etre que mon bouquin est-il un peu vieux... pffff

mon erreur paraîtra surement evidente pour un developpeur, mais pour la graphiste que je suis, c'est un sacerdos !

voici mon code :
<?php
$connexion=mysql_connect("localhost","root","");
$db=mysql_query ("CREATE DATABASE monsite");
$db=mysql_select_db("monsite",$connexion);
$tbl=mysql_query ("CREATE TABLE mespages (nompage VARCHAR(40) NOT NULL, adressepage VARCHAR(40) NOT NULL, PRIMARY KEY (nompage))");
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Accueil','accueil.php')");
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Historique','historique.php')");
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Photos','photos.php')");
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Inscription','inscription.php')");
$saisie=mysql_query("INSERT INTO mespages(nompage,adressepage) VALUES ('Email','email.php')");

?>
et celui de ma page index :
<html>
<head><head/>
<body bgcolor="#C0C0C0">
<p align="center"><font size="6" color="#000080">Bienvenue sur mon site</font></p>
<p align="center">

<?php
$connexion=mysql_connect("localhost","root","");
$db=mysql_select_db("monsite",$connexion);
$resultat=mysql_query("select * from mespages",$connexion);
$nb=mysql_num_rows($resultat);
for ($i = 0; $i<$nb ; $i++)
{
$nom=mysql_result($resultat,$i,"nompage");
echo "$nom ";
}
?>
</p>
</html>
si quelqu'un pouvait me dire ce qui cloche, ca m'aiderait beaucoup a avancer !
Merci

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]