Page 1 sur 2

Impossible de créer une bdd MySQL

Posté : 29 avr. 2009, 16:12
par rusmaster
Bonjour et merci de votre attention,

Je fais un site pour l'apprentissage des bases de la langue russe sur le serveur de "chez.com".
Ce serveur comprend PHP et MySQL.
Ma page d'accueil (.php) contient un formulaire html :

<form name="formrusse" action="bform.php" method="post">....

Les données sont transmises à "bform.php" :
<?php 
$pseudo = $_POST["pseudo"]; 
$pays = $_POST["pays"]; 
$region = $_POST["region"]; 
$email = $_POST["email"]; 
$age = $_POST["age"]; 
$message = $_POST["message"]; 
$today=date("d-m-Y"); 
$now=time("H/i/s"); 
$fh = fopen("formul.txt","a"); 
fwrite($fh,$today); 
fwrite($fh,$now); 
fwrite($fh,"\n"); 
fwrite($fh,$pseudo); 
fwrite($fh,"\n"); 
fwrite($fh,$email); 
fwrite($fh,"\n"); 
fwrite($fh,$pays); 
fwrite($fh,"\n"); 
fwrite($fh,$region); 
fwrite($fh,"\n"); 
fwrite($fh,$age); 
fwrite($fh,"\n"); 
fwrite($fh,$message); 
fwrite($fh,"\n"); 
fclose($fh); 
?> 
Bien sur, j'aimerai que ces variables soient stockées dans ma BD.

Je veux crée une bdd (BDrusse)
avec des tables (pseudo, mail, pays.....)
Pour créer une bdd il faut se connecter, c'est bien ça ?
Pour se connecter, on fait un script du genre :
<?php 

echo "tentative de connection à la base de données"." / "; 
$connect=mysql_connect("localhost","rusmaster","xxXXyyYYxX") 

or die ('erreur de connection à MySQL'.mysql_error())." / "; 
echo"connection OK"." / "; 
....... 
?> 
où "localhost" est le serveur de chez.com,
"rusmaster" l'utilisateur
et 3ème attribut le mdp que chez.com m'a donné.

Si la connection est OK, on peut créer la bdd avec un script du genre :
$sql='CREATE DATABASE BDrusse';
if (mysql_query($sql, $connect)) 
{
    echo "Base de données créée correctement";
} else {
   echo "Erreur lors de la création de la base de données : ".mysql_error();
}

?> 

Et voilà ce que j'ai en retour :

tentative de connection à la base de données / connection OK / Erreur lors de la création de la base de données : Access denied for user 'baserusse'@'172.20.%' to database 'BDrusse'


Est-ce que ma tentative de connection a bien réussi ?
Si oui, comme il a l'air de le dire, pourquoi me refuser l'accés pour la création de la bdd"BDrusse?


Merci de m'éclairer... ;)

Posté : 29 avr. 2009, 16:39
par Nagol
je dirais que ton hébergeur de n'autorise pas à créer des bases ce qui n'est pas choquant en soi.

tu veux sans doute plutot créer une table plutot qu'une base. qui plus est une création de table à partir de php c'est trés rare, php est utilisé plutôt pour exploiter les données (ajouter/updater/deleter/lister) plutot que pour créer du structurel.

Posté : 29 avr. 2009, 16:59
par rusmaster
Je te remercie pour la rapidité de ta réponse.
Comme vous l'aurez remarqué je suis encore aux balbutiements.
Et je pense que certaines notions ne me sont pas du tout familières.
Je dois un peu mélanger PHP et SQL.

Donc, je souhaite que les réponses de mon formulaire aillent dans une bdd plutot que
dans le fichier plat (formul.txt).

Posté : 29 avr. 2009, 18:07
par Nagol
le principal avantage d'une base de donnée par rapport à un fichier texte consiste dans l'utilisation des données, si une donnée doit etre consultable (ou pire écrite) en simultannée par plus d'une personne alors un sgbd est toujours le bon choix.

Posté : 30 avr. 2009, 03:21
par Patriboom
Informe-toi, certainement que ton hébergeur t'offre un accès phpMyAdmin à ta ou tes base(s) de donnée(s).
C'est un outil efficace et convial.

Posté : 30 avr. 2009, 16:51
par rusmaster
Il s'agit du nouvel hebergeur des pages persos de Alice.

http://www.chez.com/

Les informations sont inexistantes sur leur page d'accueil.
Quand on crée une nouvelle page perso, on reçoit les MDP et c'est tout...
Aucune aide à ce niveau là.

Posté : 30 avr. 2009, 17:02
par orgerix
Essaye de te connecter à la base de donnée du nom de ton compte. Tu as forcément une base d'installer et je vois pas quel autre nom elle pourrait avoir.

Posté : 30 avr. 2009, 17:12
par Nagol
ou alors tu n'as pas de base...

en totu cas sans les infos précises de connexion tu va pas aller loin, donc commence par balancer un email à leur support.

Posté : 30 avr. 2009, 17:13
par rusmaster
Avec votre aide je crois que j'ai avancé un peu.
voici mon nouveau code :
<?php 
echo "tentative de connection à MySQL"." / ";

$connect=mysql_connect("localhost","rusmaster","xxxxxxXXXXXX")

or die ("erreur de connection à MySQL".mysql_error())." / "; 
echo"connection OK"." / ";
$db=mysql_select_db("BDrusse",$connect);
$tab_PS="CREATE TABLE PSeudo";
if (mysql_query($tab_PS, $connect)) 
{
    echo "table créée correctement";
} else {
   echo "Erreur lors de la création de la table : ".mysql_error();
}

?>
et voici le resultat :
tentative de connection à MySQL / connection OK / Erreur lors de la création de la table : A table must have at least 1 column
Je pense avoir franchi la marche de la connection à la base (ou table), il me reste à bucher sur le second niveau... :wink:
Merci pour votre patience

Posté : 30 avr. 2009, 17:16
par Nagol
prends tes infos de connexion et va te configurer un phpMyAdmin t'amuses pas à créer ta base de donnée à la main c'est pas très formateur, et tu risques de faire des grosses erreurs.

Posté : 30 avr. 2009, 17:23
par rusmaster
:lol: phpMyAdmin parlons-en ! :lol:
J'ai téléchargé déjà 3 versions, 3.1.3, 3.1.3.2 et 3.1.4.
Je n'ai pas su en installer au moins un :-*

Le boulet, je vous l'avez dit

Posté : 30 avr. 2009, 17:38
par Nagol
l'installation s'est complexifié, mais y'a des readme et autre docs pour faire ça c'est pas si dur tout reposes sur le fichier config-inc.php

Posté : 02 mai 2009, 10:34
par rusmaster
merci,

Je me lance dans la config de phpMyAdmin, c'est pas gagné :wink:
J'ai trouvé une doc mais c'est pas la même version(3.2.0) alors que j'ai la 3.1.4
Je suis preneur pour tuto et autres doc.

Chez.com

Posté : 03 mai 2009, 18:54
par Jeffou
Chez.com n'a pas d'interface phpmyadmin, c'est pour ca qu'on est obligé de créer nos bases/tables avec des scripts php. Ce n'est pas très joli mais si ca fonctionne...

Par contre je voudrais bien que quelqu'un me donne le nom du serveur sql (l'équivalent de sql.free.fr ou de localhost). Je sillonne les forums internet depuis 30 minutes et je ne trouve l'adresse nulle part... C'est un peu embêtant pour un hébergeur qui se vante d'offrir une base de données mySQL gratis...

Avant qu'on me le dise, j'ai un site sur free mais j'ai des soucis pour me connecter à l'espace phpMyadmin, leur support technique m'a dit de me débrouiller tout seul !! Semblerait que ce soit des problèmes de configs, de "loopback" et autres obscures explications...

Bref, si quelqu'un a l'adresse ca m'intéresse (sql.chez.com ne fonctionne pas).
Merci

solution pour rusmaster

Posté : 03 mai 2009, 18:59
par Jeffou
Rusmaster, il semblerait que la seule erreur restante est que ta requete de création de table ne comprend aucun champ, tu essaies de créer une table vide et apparemment le serveur n'aime pas.

la page suivante m'a pas mal aidé, c'est basique mais ca aide à démarrer:
http://www.commentcamarche.net/contents ... reate.php3

A+