AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
21 Mai 2012 à 21:56:44

Connexion avec identifiant, mot de passe et durée de la session
Rechercher
    avancée

News

Stats
8763 Messages dans 1087 Fils de discussion par 1000 Membres
Dernier membre: totor 94
+  PHP Astux
|-+  Langages Web
| |-+  PHP, ASP ... (serveur)
| | |-+  aide phpmyadmin
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: aide phpmyadmin  (Lu 1367 fois)
laudu60100
Membre Complet
***
Messages: 119


« le: 27 Octobre 2010 à 23:44:46 »

Salut, désolé, c'est encore moi.
J'ai respiré un grand coup et je me suis lancé dans phpmyadmin. Mais, je bloque.
C'est quoi une base de donnée d'abord, et c'est quoi une Table ??
Voila, merci d'avance !  Sourire

(et bon courage pour toutes mes questions  et je te remercie de me répondre et du temps que tu consacres pour moi Clin d'oeil )
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #1 le: 28 Octobre 2010 à 23:56:39 »

Regarde par là :
http://www.php-astux.info/articles.php?article=sql

à lire dans cet ordre
MySQL : premiers pas
MySQL : Requêtes SQL
MySQL : L'outil PHPMyAdmin

pour aller plus loin : http://www.php-astux.info/script-mysql.php
Journalisée

laudu60100
Membre Complet
***
Messages: 119


« Répondre #2 le: 29 Octobre 2010 à 18:36:54 »

Regarde par là :
http://www.php-astux.info/articles.php?article=sql

à lire dans cet ordre
MySQL : premiers pas
MySQL : Requêtes SQL
MySQL : L'outil PHPMyAdmin

pour aller plus loin : http://www.php-astux.info/script-mysql.php

Justement, c'est sur ces liens que je travail et je comprends pas ce qu'est une base et une table.
De plus, l'interface n'est pas la même. J'arrive à peut près à me repérer mais toi, tu as "créer une table" alors que moi, "créer une base" donc, je ne comprends plus rien.
Une table serait-elle un fichier dans un dossier, et une base de donnée, un dossier ?
Bref, je suis un peu perdu.
« Dernière édition: 29 Octobre 2010 à 18:39:22 par laudu60100 » Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #3 le: 29 Octobre 2010 à 19:16:58 »

Regarde par là :
http://www.php-astux.info/articles.php?article=sql

à lire dans cet ordre
MySQL : premiers pas
MySQL : Requêtes SQL
MySQL : L'outil PHPMyAdmin

pour aller plus loin : http://www.php-astux.info/script-mysql.php

Justement, c'est sur ces liens que je travail et je comprends pas ce qu'est une base et une table.
De plus, l'interface n'est pas la même. J'arrive à peut près à me repérer mais toi, tu as "créer une table" alors que moi, "créer une base" donc, je ne comprends plus rien.
Une table serait-elle un fichier dans un dossier, et une base de donnée, un dossier ?
Bref, je suis un peu perdu.


-----------------------------------------------------------------------------------------------

J'ai fais quelques essais en touchant à tout sans comprendre et voila :
-J'ai crée une base se nommant "essai".
-J'ai crée une table se nommant "ddd".
-Dans cette table, j'ai crée 2 champs : "SSS" et "ZZZ".
Et ce qui est bien c'est que je trouve exactement les mêmes choses que sur tes screens.
(j'édite ce message au fur et à mesure)

Bon, ça y est, j'ai compris l'utilité, mais c'est un peu compliqué.
En gros, moi, je fais avec fopen puis fwrite et include. C'est plus simple, mais y'a t-il des inconvénients à long terme ??

Et je ne comprends pas : c'est quoi un fichier htaccess ?? (je suis en train de chercher dans google)
(POUR htaccess, j'ai trouvé)
« Dernière édition: 30 Octobre 2010 à 10:34:03 par laudu60100 » Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #4 le: 01 Novembre 2010 à 13:46:05 »

ça dépend quels sont tes droits ...

Chez bien des hébergeurs, tu as le droit à une seule base et pas d'en créer d'autres, donc dès que tu rentres sur PHPMyAdmin, il se met directement dans la bonne base.

Matériellement, une base se caractérise (entres autres, mais principalement) par un dossier. Regarde dans wamp/mysql/data, tu verras qu'il y a un dossier par base créée. Et chaque table correspond à 3 fichiers, pour la structure de table, pour les données, etc.


Une base est un ensemble de 0 ou n tables. C'est comme si la base était un lecteur de disque dur (C:) qui contient 0 ou n dossiers ...
chaque dossier comprend 0 ou plusieurs fichiers, la table contient 0 ou plusieurs enregistrements. (la différence étant qu'une table ne peut contenir QUE des enregistrements, mais pas de "sous table")
Journalisée

laudu60100
Membre Complet
***
Messages: 119


« Répondre #5 le: 07 Novembre 2010 à 20:11:16 »

J'ai compris le fonctionnement de phpmyadmin !!!
Mais j'aimerai bien pouvoir creer mes bases à partir de mes pages php.
Mais ça ne mar...... (oups, c'est vrai), ça ne donne pas le résultat que j'attendais :
Code:
<?php

CREATE DATABASE
Lolo;


?>

ce qui me renvoie :
Citation
Parse error: parse error in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 3
ce qui ne m'étonne pas du tout, mais alors, comment on fait ??
Je ne veux pas être dépendant de phpmyadmin !  Triste
« Dernière édition: 05 Janvier 2011 à 09:49:04 par laudu60100 » Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #6 le: 05 Janvier 2011 à 09:50:02 »

Par contre, ça n'envoie pas de message d'erreur mais dans phpmyadmin, la base n'y est pas, donc, elle n'a pas été crée :
Code:
<?php

$aa "CREATE DATABASE Lolo";

?>

Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #7 le: 05 Janvier 2011 à 09:54:12 »

Et en improvisant avec des codes sources sortis de google, ça renvoie erreur :
Code:
<?php

$query 
"CREATE DATABASE Lolo";
 
     
$result mysql_query($query) or die('Erreur SQL : '.mysql_error());

?>

Bon ??
Merci d'avance pour la réponse.
Papa php ! Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant Grima&ccedil;ant
Journalisée
laudu60100
Membre Complet
***
Messages: 119


« Répondre #8 le: 05 Janvier 2011 à 15:53:35 »

Bon, j'ai avancé dans mes recherches. Il faut donc, se connecter, alors, j'ai crée un "nouvel" utilisateur : moi
pseudo : Laurent
mdp : Laurent
serveur : %




Mais, lorsque j'écrie ça, ça renvoie erreur :
Code:
<?php

mysql_connect
('%',"Laurent",'laurent');




$query "CREATE DATABASE Lolo";
 
     
$result mysql_query($query) or die('Erreur SQL : '.mysql_error());





mysql_close();

?>

Citation
Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 3

Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: Hôte inconnu. (trying to connect via tcp://%:3306) in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 3

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 3

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\wamp\www\Essai_Base.php\creer_base.php on line 10
Erreur SQL : Access denied for user 'SYSTEM'@'localhost' (using password: NO)

Pourtant sur php.net, ils disent : mysql_connect("localhost", "mysql_user", "mysql_password")
Ai-je donc mal remplacé ??


Deplus, Comment faire pour que phpmyadmin, se connecte à mysql à partir de mon "conte" ??
Parce que j'aimerai bien me débarasser de ça se trouvant en bas de la page phpmyadmin :
Citation
Votre fichier de configuration fait référence à l'utilisateur root sans mot de passe, ce qui correspond à la valeur par défaut de MySQL. Votre serveur MySQL est donc ouvert aux intrusions, et vous devriez corriger ce problème de sécurité.

---------------------------------------------------------------------------------------------------------------



Ensuite, par expérience, j'ai supprimé tout les utilisateurs, et la, erreur sur phpmyadmin (pas étonnant puisqu'il ne peut plus se reconnecter à mysql) mais alors, ou sont enregistré ces utilisateurs ??
Car si on ne peut plus se connecter, on ne peut donc plus creer d'utilisateur et donc, mysql est foutu, non ?
(j'ai du réinstaller wampserver ; ma maman me disait toujours : "la curiosité est un vilain défaut"  Grima&ccedil;ant Grima&ccedil;ant)




---------------------------------------------------------------------------------------------------------------



Et enfin, si j'ai bien compris faire :
Code:
<?php
$query 
"CREATE DATABASE Lolo";
$result mysql_query($query);
?>
ou
Code:
<?php
mysql_create_db
("Lolo");
?>

c'est pareille.

Mais comme dis sur php.net, il est préférable d'uttiliser mysql_query() que mysql_create_db() car la fonction est obsolète.
« Dernière édition: 05 Janvier 2011 à 21:19:45 par laudu60100 » Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #9 le: 08 Janvier 2011 à 15:40:33 »

Coucou,

tu ne peux pas interagir directement avec MySQL "comme ça".

il faut se connecter. C'est la première étape, tu dois spécifier :
- un nom d'hôte (souvent localhost)
- un utilisateur
- un mot de passe.

C'est par défaut ce que tu fais sur PHPMyAdmin ou n'importe quel script PHP, et si ton PHPMyAdmin "démarre tout seul", c'est qu'il sous-entend que tu te connectes avec "root" et sans mot de passe (ce qui ne me parait pas *forcément* aberrant pour un laboratoire de test, mais impensable sur un vrai serveur, bien entendu !)

L'hôte peut être soit localhost ou 127.0.0.1 qui signifie "le serveur MySQL s'exécute sur la même machine physique ou virtuelle que là où j'exécute cette instruction", soit un autre nom ou une autre adresse IP. C'est le cas par exemple chez OVH, quand tu mets mysql5.ovh.net c'est le serveur n°5 chez eux.

Tu remarqueras dans tes captures le signe % qui signifie tout serveur, pour toi en local cela importe peu. C'est surtout utile lorsque tu as un serveur maître et X serveurs "esclaves" par exemple et que tu veux que ton utilisateur puisse se connecter exclusivement sur un des esclaves ou sur n'importe lequel des serveurs.

Une fois que tu es connecté, tu récupères (de manière invisible, c'est MySQL qui s'en charge) des "privilèges". Les privilèges sont de 2 niveaux :
- des privilèges au niveau du serveur
- des privilèges au niveau d'une base (ou de X bases)

au niveau serveur, ce sont des privilèges qui te permettent, par exemple, de créer un nouvel utilisateur MySQL ou une nouvelle base.

Au niveau de la base, c'est pour lire / supprimer / mettre à jour des enregistrement, mais aussi faire des requêtes un peu spéciales.

Si tu fais :
Code:
<?php

CREATE DATABASE machin
;

?>
ça ne marchera absolument pas, vu que PHP attend des instructions PHP et là il ne voir qu'une simple suite de lettres et se dit "c'est pas une variable, c'est pas une fonction ... mais qu'est-ce Huh"
Et il te sort un vieux parse error.

Ceci est déjà largement mieux :

Code:
<?php

$query 
"CREATE DATABASE machin;";

mysql_query($query);

?>

là vu que tu es toujours en PHP, tu as une variable que tu crées ($query) et une fonction que tu exécutes (mysql_query) donc il va te l'exécuter.
Attention, je ne l'ai pas mis, mais de manière sous-entendue, il y a un mysql_connect juste avant Clin d'oeil

comme ceci :
Code:
<?php
$conn 
mysql_connect('localhost''Laurent''Azerty123');
?>

[/php]

là dans ton $conn tu récupères un pointeur sur une connexion.
ça veut juste dire qu'il y a un lien qui s'est établi entre le serveur Apache (PHP) et MySQL avec les identifiants fournis.
(et avec les privilèges en conséquence).

Après pour la connexion précédemment établie, en règle générale tu dois te placer sur une table.
En SQL pur et dur, ça donne :
[code]USE DATABASE machin;

et en PHP l'équivalent :
Code:
<?php
$conn 
mysql_connect('localhost''Laurent''Azerty123');

mysql_select_db('machin'$conn);
?>

après cette ligne, tu seras en train de travailler sur la table "machin" avec les pouvoirs de l'utilisateur Laurent.


Depuis MySQL5, il y a une table qui s'appelle "information_schema" qui recence les utilisateurs et les droits.
Pour ton warning en rouge, ça veut juste dire que le root est sans mot de passe, si ton but n'est que de faire des bêtes SELECT, sur ton PC en local je considère (mais ça n'engage p-ê que moi Clin d'oeil) que ce n'est pas "grave".
Sur mon PC, mon root MySQL est aussi sans mot de passe depuis toujours ...

L'intérêt c'est que sur ton "vrai" serveur, le root soit avec mot de passe, bien sûr, et que tu crées un compte limité pour travailler sur ta base (et dans l'idéal, ce compte n'a de droits qu'en localhost sur une seule base pour limiter les dégâts en cas de vol du mot de passe). Même mieux, tu peux lui interdire de supprimer la base ou des tables ...[/code]
Journalisée

laudu60100
Membre Complet
***
Messages: 119


« Répondre #10 le: 08 Janvier 2011 à 21:27:19 »

Bah un immense merci, car tout marche, c'est parfait !  Grima&ccedil;ant
J'ai plus qu'à apprendre le langage "SQL" maintenant. Grima&ccedil;ant Grima&ccedil;ant
Journalisée
Pages: [1]   Haut de page
Imprimer
Aller à:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Amber design by Bloc | XHTML | CSS