PHP & mySQL pour les nuls ...

Galsungen Messages postés 6938 Date d'inscription   Statut Contributeur Dernière intervention   -  
nonolenaufragé Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour :)

soit je suis vraiment nul, soit il y a un blem dans leur bouquin, ils donnent un script (ci-dessous) dans lequel on est censé (sous IE) entrer les lignes de commandes pour créer et modifier une base SQL. J'ai vérifié trois fois et j'ai exactement la même chose que ce qui est imprimé sur les pages du bouquin ... sauf qu'au lieu (avec la commande show database) d'avoir une réponse avec un tableau me donnant le sbases de données présentes, j'ai ceci dans la barre d'adresse et c'est tout : http://localhost/mysql_envoi.php?form=yes

<!-- Nom du programme : mysql_envoi.php
Description : envoi d'une requète SQL au server SQL
et affichage des résultats -->
<html>
<head>
<title>Envois de Requêtes SQL</title>
</head>

<body>
<?php
$user="localhost";
$host="root";
$password="";

/* Section d'exécution de la requête */

if (@form == "yes")
{ mysql_connect($host,$user,$password);
mysql_select_db($database);
$query = stripSlashes($query) ;
$result = mysql_query($query);
echo "Base de données sélectionnée :
<b>$database</b><br>
Requête : <b>$query</b>
<h3>Résultats</h3>
<hr>";
if ($result == 0)
echo("<b>Erreur ".mysql_errno().": ".mysql_error()."</b>");
elseif (@mysql_num_rows($result) == 0)
echo("<b>Requête exécutée. Aucun résultat envoyé.</b><br>");
else
{ echo "<table border='1'>
<thead>
<tr>";
for ($i = 0; $i < mysql_num_fields($result); $i++)
{
echo("<th>" . mysql_field_name(result,$i) .
"</th>");
}
echo "</tr>
</thead>
<tbody>";
for ($i = 0; $i < mysql_num_rows($result); $i++)
{
echo "<tr>";
$row = mysql_fetch_row($result);
for ($j = 0; $j < mysql_num_fields($result); $j++)
{
echo("<td>" . $row[$j] . "</td>");
}
echo "</tr>";
}
echo "</tbody>
</table>";
}
echo "<hr><br>
<form action=$PHP_SELF method=post>
<input type=hidden name=query value=\"$query\">
<input type=hidden name=database value=$database>
<input type=submit name=\"queryButton\"
value=\Nouvelle requête\">
<input type=submit name=\"queryButton\"
value=\"Editer la requête\">
</form>";
unset($form);
exit();
}

/* Section demandant à l'utilisateur de formuler sa requête */
@$query = stripSlashes($query);
if (@$queryButton != "Edit Query")
{ $database = " ";
$query = " ";
}
?>

<form action=<?php echo $PHP_SELF ?>?form=yes method="post">
<table>
<tr>
<td align="right"><b>Indiquez le nom<br>de la base de données</b>
</td>
<td><input type=text name="database" value=<?php echo $database ?> >
</td>
</tr>
<tr>
<td align="right" valign="top"><b>Saisissez la requête</b>
</td>
<td><textarea name="query" cols="50" rows="10"><?php echo $query ?>
</textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Envoyez la requête"></td>
</tr>
</table>
</form>

</body>
</html>


alors si quelqu'una rrivait à m'expliquer ce qui cloche la dedans, je lui en serais gré :)

Gals - Nibelungen
A voir également:

14 réponses

warlix Messages postés 1201 Date d'inscription   Statut Contributeur Dernière intervention   288
 
salut

Le mieux reste le site du zer0 :p


mais joli le pull de post d il y a 6 mois :p

3
Jérémy
 
mysql_select_db($database);
$query = stripSlashes($query) ;


Est ce que $database et $query sont bien initialisées ?
Si oui, est ce que $databsae correspond bien à une base existante ?
Est ce que tu as testé la requete $query directement dans PhpMyAdmin ?

--
Jérémy
0
Utilisateur anonyme
 
Heu, et pis, c'est quoi cette ligne:

if (@form == "yes")


Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
Galsungen Messages postés 6938 Date d'inscription   Statut Contributeur Dernière intervention   1 422
 
je sais pas, j'ai recopié le code du livre comme il l'explique dedans :/

je n'y connais rien, c'est le début du bouquin pour apprendre, donc pour le moment je me contente de recopier ce qu'ils me disent.

je me suis renseigné auprès d'une autre personne ayant le même ouvrage, elle a abandonné à cet endroit car rien ne fonctionnait dans les codes donnés :/

Gals - Nibelungen
0
Utilisateur anonyme
 
Ben déja remplace le @ par un $ (voir meme par $_GET['form'] )... Ca sera déja beaucoup plus logique. J'ai pas regardé plus loin.

Kalamit,
Parle à ma culasse, mon carter est malade. :)
0
Galsungen Messages postés 6938 Date d'inscription   Statut Contributeur Dernière intervention   1 422 > Utilisateur anonyme
 
j'ai suivi ton conseil kalamit et au moins ca change, j'ai ca maintenant :

Warning: Unknown MySQL Server Host 'root' (0) in e:\easyphp\www\mysql_envoi2.php on line 18

Warning: MySQL Connection Failed: Unknown MySQL Server Host 'root' (0) in e:\easyphp\www\mysql_envoi2.php on line 18

Warning: Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in e:\easyphp\www\mysql_envoi2.php on line 19

Warning: MySQL Connection Failed: Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in e:\easyphp\www\mysql_envoi2.php on line 19

Warning: MySQL: A link to the server could not be established in e:\easyphp\www\mysql_envoi2.php on line 19

Warning: Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in e:\easyphp\www\mysql_envoi2.php on line 21

Warning: MySQL Connection Failed: Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in e:\easyphp\www\mysql_envoi2.php on line 21

Warning: MySQL: A link to the server could not be established in e:\easyphp\www\mysql_envoi2.php on line 21
Base de données sélectionnée :
Requête : show database
Résultats

--------------------------------------------------------------------------------
Erreur 1045: Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON)


pourtant easyPHP fonctionne et il me dit que tout est actif :/

Gals - Nibelungen
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > Galsungen Messages postés 6938 Date d'inscription   Statut Contributeur Dernière intervention  
 
Salut,

Remplaces
$user="localhost";
$host="root";
$password="";


par :

$host="localhost";
$user="root";
$password="";


Ca ne résoudra pas tout mais c'est déjà ça..


Kilian, débutant en tâche de fond.....
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > Galsungen Messages postés 6938 Date d'inscription   Statut Contributeur Dernière intervention  
 
Ah bah d'accord je réponds trois mille ans après moi..... :-s

Kilian, débutant en tâche de fond.....
0
quelqun
 
salut,

je confirme que ce livre pourrit est vraient nul je l'ai acheté et g rien compris bizarement j'en ai acheté un autre PEDAGOGIQUE et en deux semaine g su maitriser tres bien le php
0
damen
 
salut,

Tu parles d'un bouquin pédagogique qui t'as permis de maîtriser le PHP en deux semaines, pourrais-tu nous fournir un peu plus d'informations sur ce bouquin, ça serait vraiment cool ?

J'ai l'intention de m'y mettre mais il y a tellement de truc sur le PHP que je sais pas où donner de la tête et j'ai pas trop envie de perdre du temps sur des trucs qui fonctionnent pas, normal quoi ;)

Merci d'avance !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NAUTILUSS
 
ESSAYE PHP ET MYSQL VERSIONS 4 ET 5 EN SUPER POCHE CHEZ MICRO APPLICATION POUR 7€89
0
jet25
 
Bonjour,
Oyez, Oyez, braves gens !
Je vais sous vos yeux vous révéler le VRAI script de "MySQL et PHP pour les nuls" (Oui, oui, c'est bourré d'erreur)

Voici les erreurs et les corrcetions dans l'ordre :

à la ligne 10
Ajouer "root" dans le texte ($user="";) de façon à ce que ça donne ---> $user="root";
Pourquoi ? Sans le login, impossible de se connecter. Mais pour le nom "Root", je n'en sais rien.

à la ligne 13
à (mysqli_connect) enlever la lettre " i " pour donner ---> $cxn = mysql_connect($host,$user,$password);
Pourquoi ? Allez comprendre pourquoi ils ont mis un " i ".
Note Importante : Faite cette même manoeuvre sur tous les "mysqli" (Enlevez les " i ")

à la ligne 15
Enlevez ($cxn) pour donner ---> $result = mysql_query($sql);
Pourquoi ? Cette fonction est inutile et pose un problème pour le message d'erreur qui se trouve en-dessous.

Et voilà, le tableau devient exactement comme ils l'ont décris dans le livre.
Si ça marche toujours pas, envoyez moi une réponse avec les données.
0
Shaw
 
J'arrive un peut en retard ^^ J'ai le bouquin egalement et j'ai aucun soucis, j'ai verifié ton code et il y a déjç des fautes de recopiage ^^

Exemple, tu as mis:
if (@form == "yes")

Au lieu de:
if(@$_GET['form'] == "yes")


Avant de poster sur les forum, pense a relir ton code ;)
Bonne chance pour la suite.
0
Victime numéro X
 
Juste pour confirmer que ce livre est une véritable bouze. J'en suis à la page 67 et pas une page sans coquilles. Merci pour le coup de main du forum sans quoi je le jetai.
0
romain0001
 
"Root" c'est le nom du serveur ou ce trouve la base de donnée quand vous mettre votre site en marche ( dans un serveur xD ) vous devriez changer ça le nom de la base l'adresse ect ...
ps : pour bien commencer je conseil le site du zéro ( recherche sur google ^^ ) vous aprennez vraiment ce qu'il faut savoir en php et leur forum permet d'optimiser vos connaissances et le livre en plus ( je ne les pas mets vu le code qu'il donne ) vous devenais incollable sur le php
enfin ce n'est que mon avis
0
dicken
 
Salut , j'ai exactement les meme probleme que toi sur ce livre j'ai abondonné et pris php 5 avancé ché eyroll c'est le must
0
jeremieca Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   28
 
Pareil j'ai acheté PHP5 avancé et j'en suis super super content !

++
0
barto
 
Je poste un peu tard, mais cet homme (qu'il soit béni par le Dieu de l'informatique) qui est un vrai geek dans tous les domaines, se nommant M@teo21 sur le https://openclassrooms.com/fr/ a écrit un livre sur

"Réussir son site web avec XHTML et CSS"
Le livre du Site du Zéro
Réussir son site web avec XHTML et CSS

Le Site du Zéro enfin en livre !
Vous avez été nombreux à réclamer la parution d'un ouvrage dans le style "Site du Zéro" : c'est désormais chose faite !

Oubliez tous les livres confus et complexes que vous avez pu lire jusqu'à présent.
Désormais, les débutants ont leur livre. Enfin un livre qui part du début, qui explique pas à pas sans sauter d'étapes, et qui vous permet d'arriver à un résultat concret à la fin... le tout sans prise de tête !

Ce livre est paru aux éditions Eyrolles dans la collection Accès Libre.
Il a été écrit par Mathieu Nebra, alias M@teo21, fondateur du Site du Zéro et auteur entre autres du cours de C / C++, de site web, de PHP, etc.

Voila. Moi aussi j'utilise ce bouquin (pour les Nuls), et je m'enlise pas trop profondément dedans (il faut dire que je n'ai pas essayé les scripts :p). D'après tout ce que vous avez dit au sujet des scripts, imaginez un peu comment cela doit être avec la bibliothèque de scripts qui se trouve à la fin... Enfin bon. Je vais le finir afin de pouvoir donner un véritable avis.

Codiralement,

Barto.
0
jeremieca Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   28 > barto
 
Rebonjour,

Je suis d'accord, cependant, il n'approfondit pas autant que php5 avancé de Eyrolles, il n'y a pas photo.

++
0
goava > barto
 
Bon salut à tous voilà pour les perdus et pressés A+

http://css.alsacreations.com/Faire-une-mise-en-page-sans-tableaux/design_css

Si tu comprend pas n'insiste pas mon gars...
0
nonolenaufragé Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut,

j'ai le même type de problème :

une erreur lors de ma requête de bdd :

voici le code php :

ligne 25_ _ _ _ _ _ _ _ _mysql_connect("localhost", "mon_identifiant_FTP", "mon_mot_de_passe_FTP");

voici ce qu'affiche le navigateur :

Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'mon_identifiant_FTP@localhost' (mot de passe: OUI) in 'chemin_vers_la_page' on line 25


Question : Pourquoi ????????

PS : page web et bdd sont sur un serveur auquel j'accède via client ftp (filezilla)
0
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
mon_identifiant_FTP doit-être remplacé par ton identifiant réel.

Si en local, normalement on laisse vide user et password, enfin si tu n'as rien spécifié à l'install ou par la suite.
-1
nonolenaufragé Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   4
 
mon_identifiant_FTP, c'est JUSTEMENT pour signaler qu'ici, je mettais mon identifiant, mais sans le dévoiler .... :-p

Sinon, c'est peut-être un problème de CHMOD de la bdd mysql...
je vais voir ça.
0
jet25
 
Salut, je t'invite à regarder la réponse officiel à ta question.
Rendez-vous sur le message N°14.
-3