2016-09-02 18 views
-2

PHPを使ってMySQLデータベースにテーブルを作成したいと思います。これは私の試みです:PHPを使用してMySQLでテーブルを作成するには?

$dbhost = 'rdbms.strato.de'; 
$dbusername = 'Userxxx'; 
$dbuserpass = 'Passwordxxx'; 
$dbname = 'DBxxx'; 

$link_id = mysql_connect ($dbhost, $dbusername, $dbuserpass); 
echo "success in database connection."; 

if (!mysql_select_db($dbname)) die(mysql_error()); 
echo "success in database selection."; 

$result = "CREATE TABLE address_book (first_name VARCHAR(25), last_name VARCHAR(25), phone_number VARCHAR(15))"; 

if (mysql_query($result)){ 
echo "TABLE created."; 
} 

else { 
echo "Error in CREATE TABLE."; 
} 

しかし、これは、私は多くのことを検索しますが全く成功しない解決策を見つける私にエラー

success in database connection.Access denied for user XXX to database XXX 

を与えます。誰かにアイデアをお持ちですか?

+0

あなたのMySQLユーザーはこのデータベースへの書き込みアクセス権を持っていますか?そうでない場合は、このリンクをご覧ください。http://dev.mysql.com/doc/refman/5.7/en/grant.html – FragBis

+0

DBxxxを選択できないようです。あなたのユーザーは正しい権限を持っていますか? – Iain

+0

接続のためのあなたの現在のユーザー '$のdbusername'はseleted DB' $ dbname'のテーブル 'address_book'を作成しない権利を有します。 – JustOnUnderMillions

答えて

0

は、PHPを介さずに接続してみてください:

mysql -u Userxxx -h rdbms.strato.de -pPasswordxxx 

これが動作しない、と私はそれは、あなたのパスワードをリセットするために、データベース管理者に連絡しないであろうと思われる場合は。

パスワードが問題でない場合、リモートマシンは接続を受け入れる準備ができていない可能性があります。詳細については、Access remote database from command lineを参照してください。

あなたが得ることができるなら、あなたがしたいデータベースにアクセスしよう:

USE DBxxx; 
SHOW TABLES; 

事はPHPここにあなたの問題ではありません、です。それはつながりです。だからそれを調べるべきだ。

...これが確立されたら、コードを更新することができます。 mysql_connectおよびmysql_select_dbは推奨されていません。

0

あなたのホスト名、ユーザ名、パスワード、データベース名についていくつかの明確化が必要です。私のコードについて私の疑問があるなら、あなたのホスト名、パスワード、dbnameなどを共有してください。

$dbhost = 'localhost'; 
$dbusername = 'root'; 
$dbuserpass = ''; 
$dbname = 'test'; 

    $link_id = mysqli_connect ($dbhost, $dbusername, $dbuserpass,$dbname); 
echo "success in database connection."; 



$result = "CREATE TABLE address_book (first_name VARCHAR(25), last_name VARCHAR(25), phone_number VARCHAR(15))"; 

if (mysqli_query($link_id,$result)){ 
echo "TABLE created."; 
} 

else { 
echo "Error in CREATE TABLE."; 
} 
関連する問題