2012-09-30 118 views
-3

我是新來的PHP和MySQL,所以請告訴我我錯在哪裏。簡單的邏輯錯誤

這裏是我的PHP文件:

<?php 
$c=mysql_connect("localhost","sanjay",""); 
if(!$c) 
{ 
    die("Error in connecting to database"); 
} 
else 
{ 
    print("Success"); 
} 

$e="CREATE DATABASE db1"; 
if(!mysql_query($e,$c)) 
{ 
    print("Error Creating Database"); 
} 
else 
{ 
    echo "Database Created"; 
} 
mysql_select_db("db1",$c); 

$e1="create table t1(id int,firstname varchar(15),lastname varchar(15),age int)"; 
if(!mysql_query($e1,$c)) 
{ 
    echo "Error creating table."; 
} 
else 
{ 
    echo "table created"; 
} 
?> 

我得到下面的輸出 -

SuccessError Creating DatabaseError creating table. 

我在做什麼錯?什麼應該是相同的正確的代碼?

+0

您的SQL憑據似乎不具有訪問權限創建一個數據庫......檢查什麼[ mysql_error()](http://php.net/manual/en/function.mysql-error.php)告訴你 –

+9

請不要使用'mysql_ *'函數來編寫新的代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

+4

用戶「sanjay」授予創建**數據庫**的權利嗎?相當不可能。 –

回答

0

我沒有看到你的代碼有什麼問題,所以我認爲這個問題將在訪問權限考慮到帳戶。你應該modify mysql access rightsGrant的用戶權限CREATE(這兩個特權:數據庫&表創建)