• ベストアンサー

PHPでMySQLのユーザを追加したい。

表題の件で頭を悩ませています。 Web上のフォームで入力したユーザ名を、 そのままMySQLのユーザ名として登録できるような物を作りたいのですが、 PHPにはMySQLのユーザを追加できるような関数はありません。 phpMyadminのように管理者がユーザを追加するのではなく、 一般の人間が希望のユーザ名をフォームに入力して「追加」などのボタンを押すと、 その名前をMySQLのユーザ名として登録したいのです。 何か良い方法は無いでしょうか? お知恵をお貸し下さい。

  • senry
  • お礼率82% (19/23)
  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#223623
noname#223623
回答No.1

事前にユーザの追加ができる権限で接続すること。 $sql = "grant select,insert on testdb.* to userhoge@localhost identified by 'hogehoge'"; mysql_query($sql); これでできます。$sqlの内容はGRANT文と言います。内容は適当に書き換えてください。詳細は参考URLを見てください。 余計なことですが、安易に便利なツールを使うのは考えた方がいいですよ。ビルダでホームページを作ってる人で「タグがわからない」という人がいますよね。ツールまかせで基本が理解できてないとイザというときに対応できなくなります。 ということで、mysqlというコマンドが使えると思うので最初はそれで勉強した方がいいです。そうすればユーザの追加なんて簡単に理解できるはずです。

参考URL:
http://okweb.jp/kotaeru.php3?q=1234000
senry
質問者

お礼

今までMySQLはコマンドラインで使っているのでgrantなどをすれば良い事は解っているたのですが、 phpは始めたばかりで、MySQL関数のないものは実行できないと思い込んでいて、SYSTEM関数でコマンドを送ったりと試行錯誤していました。 普通にQuaryを投げればOKなんですね。 参考になりました。ありがとうございます。

関連するQ&A

  • MySQL/PHP に関する質問

    私は、MySQLとPHPを使って、情報検索サイト (Webアプリケーション)をつくりたいのですが、 MySQLおよびPHPのコマンド入力画面を立ち 上げるには、どのようにすればよろしいので しょうか? 私は、MySQL/PHPについてはまったくの 初心者で、何をどのようにすればよいのか、 さっぱりわかりません。 具体的な手順を教えていただけたら幸いです。 ---------------------------------------- レンタルサーバーは、paperboy&co.の「チカ ッパ!」を使用しています。 「チカッパ!」には、MySQL/PHP/phpMyAdmin がインストールされていて、 データベース名やID、パスワード等を、「チカ ッパ!」の管理画面で設定すれば、 MySQL/PHP/phpMyAdmin が使えるように なるのだと思いますが、 ID等を設定した後、次に具体的にどのように すれば、実際に使えるようになる(=コマンド 入力ができるようになる)のかが、わからない のです。 「チカッパ!」では、MySQL/PHP/phpMyAdmin の使い方のサポートはしないそうです。 以上、よろしくお願い致します。

  • PHPとMySQLについて

    社内サーバーにWebアプリをUPし、 全てデータベース管理にするため、MySQLを使用しました。 参考書を見ながら作成したため、構文に間違いはありません。 参考書は「 はじめての人のためのかんたんPHP + MySQL入門」です。 この参考書の第8章にあるWEBアプリを忠実に再現しました。 しかし、フォームに情報を入力し、登録を押しても情報が反映されません。 以上と同じように、ぶっとびねっと(フリーレンタルサーバー)でもUPし、phpMyAdminでDBを構築しましたが、 これも同じく登録情報が反映されませんでした。 無論、phpMyAdminから直接CREATEし、HPに情報を反映させるのは可能です。 その際、日本語が???となってしまいましたが、その他は正常です。 一番の問題は、なぜHPから情報を入力し、それがDBへ反映されないのかです。 .htpccessやPHP.iniの設定と何か関係があるのでしょうか? 社内サーバーに.htaccessファイルは無いそうです。 となると、php.iniだと思います。 私は初心者のため、イマイチPHP.iniが良く分かりません。 ローカルにApacheなどを落とした場合は、C:Windowsの中にPHP.iniの設定をいじればいいと思いますが、 社内サーバーの場合、サーバー上のどこかにあるPHP.iniファイルの設定を変える必要があるのでしょうか? 以上、ごちゃごちゃしてて申し訳ありませんが、 お助け下さい。

    • ベストアンサー
    • PHP
  • PHPからMySQLのバックアップをとるには?

    レンタルサーバのLinux+PHP4.2.1+MySQL3.23.42の環境で行っております。 HTML(PHP)フォームから、「バックアップ」ボタンが押されたときに、 MySQLのバックアップをとる(mysqldump)するプログラムを作りたいのですが、 mysqldumpコマンドは、SQLとしてクエリ送信できるのでしょうか? 例えば、 $strSQL = "mysqldump -u **** -p**** DB名 テーブル名 > dumptest.bak"; mysql_db_query($strSQL); のような感じでは、成功しませんでした。 mysql("DB名","mysqldump -u **** -p**** DB名 テーブル名 > dumptest.bak"; さらに、このような方法もあるみたいですが、 エラーも起こらないしdumpもされませんでした。 phpMyAdminなどは、どうやって実行しているんでしょうね。。。 知っている方がいましたら、是非ご教授くださいませ。

    • ベストアンサー
    • PHP
  • PHPからMySQLの起動について

    PHPからMySQLの起動について レンタルサーバーを借りてPHP,MySQLの勉強をしています。 PHPからMySQLの起動ができなくて困っていますので、教えていただきたいのですが、 <?PHP $dbkidou = mysql_connect("どこのサーバーか","ユーザー名","パスワード"); //データベースの起動ができなかった場合 if ($dbkidou == False) { print ("error"); exit; } $db = "データベースの名前"; ?> まずレンタルサーバーのドメインを「abc.com」としています。これに対するユーザー名が「def」、パスワードが「ghi」です。 そしてMySQLデータベースは「jkl_m」,「jkl_n」の2つを設けていて(phpMyAdminで作成しました)MySQLユーザ名が「opq」、パスワードが「rst」です。今回は「jkl_m」のサーバーを起動させたいのですが、上記PHP文の、 どこのサーバーか ユーザー名 パスワード データベースの名前 の各部分にどれを書けば良いのでしょうか? 何通りか試しているのですが、うまくいかないんです…

    • ベストアンサー
    • PHP
  • MySQLのユーザー追加について

    こんにちは。 セキュリティ対策のために、rootで操作するのではなく、ユーザーを作成して権限を与えたいと思います。 その際に、 1、rootと同じ権限のユーザーを作り、rootを削除 2、特定のデータベースの、作成、削除などの権限を持つユーザーの作成 などが有効だとどこかで見た記憶があるのですが、内容はあまり理解できていません。 1、だとroot自体が狙われるから危険。 2、はアプリケーション上(PHPなど)でデータベースへのユーザー名やパスワードが漏れる可能性があり、危険。 という理解なのですが、 これらについて詳しく記載されているサイトなどをご存知でしたら紹介くいただけるとうれしいです。 ちなみに、2、の具体的なやり方が良く分かっていません。。 phpmyadminのユーザー追加で、どこにチェックを入れればいいのやら。。 よろしくお願いします。

  • 超初心者です。PHPからMySQLに接続できません

    コマンドプロンプトからはログインできるのに、PHPMyAdminからはMySQLにログインできません 超初心者です WordPressを学習しようとサイトを参考に 以下の環境で、PHPとMySQLをインストール&設定しました OS :WindowsXP SP2 PHP :Ver 5.3.8 MySQL:Ver 5.5 Apache:Ver 2.2 php.ini にて extension=php_mysql.dll extension=php_mysqli.dll を、追加など コマンド・プロンプトからの >mysql -u root -pパスワード は、正常にログインできましたが PHPMyAdminをインストールし ブラウザからの localhost/phpmyadmin/index.php からは、以下のようなエラーとなり、ログインできません #2002 MySQL サーバにログインできません ちなみに、ブラウザから PHPInfo.php は正常に表示されております 恐れ入りますが、どうか皆さまの知恵と御力添えを 宜しくお願い致します

  • 【急ぎ】mysql5+phpMyAdmin5でのマルチユーザーで他のユーザーが見れてしまう。

    MySQLとphpMyAdminでデータベースを構築したのですが マルチユーザーにも関わらず他のユーザーのデータベースが参照、更新が可能になってしまって困っています。 データベース自体はwebminで作成しています。 今日までのサーバーなので急いでいます。なんとかよろしくお願いします。 希望としてはさくらインターネットのMySQL+phpMyAdminのような感じがよいです。 #データベース名選択不可  データベース選択不可  他のユーザーのデータベース参照不可 バージョン等は MySQL-5.0-.24 php5-5.2.1_3 phpmyadmin-- 2.10.0.2 FrreeBSD 6.0 です。

    • ベストアンサー
    • MySQL
  • php、MySQL、javascriptで

    php MySQL javascriptを使ったウェブアプリを作っています。 商品コードを入力すると、隣の欄にその商品コードに対応する商品名と価格が表示され、それにより入力した商品コードを確認しながら、さらにその隣の個数欄に個数を入力し、その下の登録ボタンをクリックして、注文票に商品を追加していきます。 数品のレコードを登録し、登録が完了したら、最下部の「この内容で注文票を確定する」ボタンをクリックすることにより、注文票が確定されるという内容の部分があります。 その上手な作り方があるでしょうか。 とりあえず、力技で何とか作って動いてはいますが、あまりスマートでないと感じています。 Submitボタンが2つと、商品コードを入力した後に、onBlurで処理ページに移動し、そこからLocationで戻ってくるという作りで、変数の受け渡しにPOSTやMySQLを使い、強引な感じです。 getElementByIdを使うといいかなと思いましたが、phpに値を渡すなど、いくつか難しい箇所があり、断念しました。 コードでなく、言葉でも結構ですから、こういう流れで作ったら?というヒントなどいただければ幸いです。 同様なことを実現しているページや解説ページも大歓迎です。 もちろん、コードによる説明は大歓迎です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPとMySQLを使ったフォームを作っていますが、うまくできないこと

    PHPとMySQLを使ったフォームを作っていますが、うまくできないことがあり書き込みさせていただきます。 わかる方、ご助力願えれば幸いです。 フォームから、送信されたデータを受け取って、MySQLに登録する際に、フォーム内に空欄があると、うまくMySQLのデータベースに追加ができなかったり、変更ができなかったりします。 コードを簡単に書くと… <?php //フォームからデータを取得 $name = $_POST['name']; $address = $_POST['address']; $age = $_POST['age']; //データベース接続処理 $db = mysql_connect("localhost","user","password"); mysql_select_db("db_name",$db); $rs = mysql_query("select * from tablename order by my_id desc",$db); //データベースへの登録 $rs = mysql_query("INSERT INTO tablename(name,address,age)VALUES('$name','$address','$age')",$db); ?> このような感じになります。 フォームには、名前、住所、年齢を入力しているわけですが、年齢が必須でないため、空欄として送られてくることもあります。 年齢に数値が入っている場合は、うまく登録されますが、空欄であった場合、特にエラーが出るわけでもなく、単に「登録されない」という状況がおきます。 データベースのテーブルのフィールドでは、ageは int(11)でNULLはYes、defaultはNULLになっております。 自分なりに調べてみたつもりですが、知りたい情報に出合うことができませんでした。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP・MySQLテーブルを追加しても崩れない方法

    PHPとMySQLを利用して、プログラムを組んでいる場合、 急に新たなテーブルがほしくなった場合に、 ただ単純にPHPmyadminでテーブルを先頭などに追加すると、 プログラムが狂ってしまうと聞きました。 将来的にテーブルを追加しても崩れない呼び出し方は、 どのような記述になるのでしょうか? だいぶ大雑把な質問内容で、すみません; 具体的な例をお聞きしたいです。 よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう