Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/06/2007, à 00:07

Dr3aMs

Probleme Mysql

Bonjour a tous, je dispose d'un server tournant sous feisty server j'ai installer apache2/mysql/proftpd,
je gère les utilisateurs de proftpd avec mysql et créer aussi le répertoir automatiquement dans le www de apache, je souhaiterai aussi qu'il créer automatiquement l'user mysql et ca table et ce serai la que jaurai besoin de vous
puisque j'obtien l'erreur suivante :
Ftp activé pour l'utilisateur mouarf Erreur SQL !CREATE USER mouarf IDENTIFIED BY momo
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'momo' at line 1

<?php
// On commence par récupérer les champs
if(isset($_POST['id']))      $id=$_POST['id'];
else      $id="";

if(isset($_POST['userid']))      $userid=$_POST['userid'];
else      $userid="";

if(isset($_POST['passwd']))      $passwd=$_POST['passwd'];
else      $passwd="";

if(isset($_POST['uid']))      $uid=$_POST['uid'];
else      $uid="";

if(isset($_POST['gid']))      $gid=$_POST['gid'];
else      $gid="";



// On vérifie si les champs sont vides
if(empty($id) OR empty($userid) OR empty($passwd)  )
    {
    echo '<font color="red">Attention, seul le certain champs peuvent rester vide !</font>';
    }

// Aucun champ n'est vide, on peut enregistrer dans la table
else     
    {
       // connexion à la base
$db = mysql_connect('127.0.0.1','***','****')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('proftpd',$db)  or die('Erreur de selection '.mysql_error());
    
     // on écrit la requête sql
    $sql = "INSERT INTO ftpuser (id,userid,passwd,uid,gid,homedir,shell,LoginAllowed) VALUES ('$id', '$userid', ENCRYPT('$passwd'), '$uid', '$gid', '/var/www/$userid', '/bin/false','true' )";
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    echo 'Ftp activé pour l\'utilisateur:'.$userid;
	$sql2 = "CREATE USER $userid IDENTIFIED BY $passwd";
	mysql_query($sql2) or die ('Erreur SQL !'.$sql2.'<br>'.mysql_error()); //requette pour afficher 
	echo 'Utilisateur MySQL activé pour'.$userid;
	$sql3 = "CREATE DATABASE $userid";
	mysql_query($sql3) or die ('Erreur SQL !'.$sql3.'<br>'.mysql_error()); //requette pour afficher 
    echo 'Table MySQL activé pour'.$userid;// on affiche le résultat pour ;le visiteur
    
    mysql_close();  // on ferme la connexion
    } 
?>

Merci de votre aide smile
Amicalement Dr3aM's

#2 Le 07/06/2007, à 09:34

dexinou

Re : Probleme Mysql

Essai ceci:

CREATE USER 'mouarf'@ '127.0.0.1' IDENTIFIED BY 'momo';

Dernière modification par dexinou (Le 07/06/2007, à 09:34)


Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...

Hors ligne

#3 Le 07/06/2007, à 11:35

Dr3aMs

Re : Probleme Mysql

Mercu de ta réponse dexinou mais cela marche tjs pas peut etres a cause des variable $userid et $passwd ??
    $sql2 = "CREATE USER '$userid' @ 'localhost' IDENTIFIED BY '$passwd'";
    mysql_query($sql2) or die ('Erreur SQL !'.$sql2.'<br>'.mysql_error()); //requette pour afficher
    echo 'Utilisateur MySQL activé pour'.$userid;
    $sql3 = "CREATE DATABASE $userid";
    mysql_query($sql3) or die ('Erreur SQL !'.$sql3.'<br>'.mysql_error()); //requette pour afficher
....

Ce que je comprend pas c'est l'erreur qu'il me sort: par exemple la javais rentré maxou comme login et maxime comme mot de passe et l'erreur sorti:
Ftp activé pour l'utilisateur:maxouErreur SQL !CREATE USER 'maxou' @ 'localhost' IDENTIFIED BY 'maxime'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''localhost' IDENTIFIED BY 'maxime'' at line 1

dont les variables sont bien prise en compte mais la creation de la base de donneé et du compte utilisateur ne ce fait pas  ...
Si quelqu'un a une idée ce serait sympatoche
Amicalement Dr3aM's

Hors ligne

#4 Le 07/06/2007, à 11:50

dexinou

Re : Probleme Mysql

Essai de crée l'utilisateur via phpmyadmin et fait "créer source php" comme ça tu auras la bonne syntaxe.

CREATE USER 'toto'@'localhost' IDENTIFIED BY '********';
GRANT USAGE ON *.* TO 'toto'@'localhost' IDENTIFIED BY '********'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Dernière modification par dexinou (Le 07/06/2007, à 11:54)


Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...

Hors ligne

#5 Le 07/06/2007, à 12:28

Dr3aMs

Re : Probleme Mysql

Bah dis donc j'ai pas trop chance, je m'explique lorsuqe je fait comme tu dis je créer un utilisateur by phpmyadmin... il créer bien l'utilisateur ainsi que ca table mais lorsque je fai afficher code source php paf erreur la meme que j'ai sous php avec mon script
le probleme pourrai venir de ma configuration apache2/php5/mysql ???

Hors ligne

#6 Le 09/06/2007, à 01:10

Dr3aMs

Re : Probleme Mysql

personne n'a une idée?? hmm

Hors ligne

#7 Le 20/06/2007, à 14:12

Dr3aMs

Re : Probleme Mysql

Salut smile

Personnes n'a toujours pas une tite idée??:rolleyes:


Amicalement.

Hors ligne

#8 Le 22/06/2007, à 14:18

povtux

Re : Probleme Mysql

Salut,

juste au cas ou, as tu donné le droit GRANT à ton utilisateur qui crée les utilisateurs? (sans oublier le 'flush privileges' pour activer le compte fraichement créé ou modifié)

Hors ligne

#9 Le 24/06/2007, à 00:07

Dr3aMs

Re : Probleme Mysql

l'utilisateur servant a créer les users et le root donc il a bien tout les droit me semble t'il.:rolleyes:

Hors ligne

#10 Le 24/06/2007, à 16:33

kidrek

Re : Probleme Mysql

Salut,
comme l'as dit dexinou, as tu testé la requête à travers phpMyAdmin ??
Et sinon petit conseil aussi, rajoutes un ; à la fin de ta requête !! Mysql est assez chiant pour ca !!

Dernière modification par kidrek (Le 24/06/2007, à 16:34)


- Kidrek ~ Administrateur Système -
http://kidrek.fr/blog/
- Un gros Bisous à mes bébés, que j'aime à  la folie -

Hors ligne

#11 Le 26/06/2007, à 14:27

povtux

Re : Probleme Mysql

Salut,

après test dans phpMyAdmin, ton problème est sur les quotes:

$sql2 = "CREATE USER '$userid' IDENTIFIED BY '$passwd'";

chez moi, même erreur que toi sans les quotes, pas d'erreur avec...

Hors ligne

#12 Le 11/01/2008, à 00:44

freretuc

Re : Probleme Mysql

l'espace avant le @ est une erreur aussi.

Hors ligne