2012-10-07 41 views
1

我試圖連接到數據庫,它連接成功但無法使用數據庫。我對PHP的這個概念很陌生。請幫助我,讓我知道如果我出錯了某處不能使用database.DB_NAME

<?php 
    define('DB_NAME', 'bvh'); 
    define('DB_USER', 'root'); 
    define('DB_PASSWORD', ''); 
    define('DB_HOST', 'localhost'); 

    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 

    if(!$link){ 
     die('could not connect: '.mysql_error()); 
    } 
    echo 'Connected Successfully<br>'; 
    $db_selected = mysql_select_db(DB_NAME, $link); 

    if(!$db_selected){ 
     die('Cannot use '.DB_NAME.':'. mysql_error()); 
    } 
    $yname=$_POST['yname']; 
    $faculty=$_POST['faculty']; 
    $class=$_POST['class']; 
    $uname=$_POST['uname']; 
    $email=$_POST['email']; 
    $pwd=$_POST['pwd']; 
    $rpwd=$_POST['rpwd']; 

    $sql = "INSERT INTO students (yname, faculty, class, uname, email, pwd, rpwd) VALUES('$yname', '$faculty', '$class', '$uname', '$email', '$pwd', '$rpwd')"; 

    if(!mysql_query($sql)){ 
     die('Error: ' .mysql_error()); 
    } 
    mysql_close(); 
    ?> 
+2

請不要使用'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)。 –

回答

0

我試着執行您的代碼片段。一切運作良好。我保證照顧以下幾點:

  • 數據庫BVH存在 使用命令create database bvh;
  • 然後創建數據庫BVH內的表生
  • 然你的PHP代碼登錄到MySQL提示,創建數據庫BVH我的命令行使用PHP解釋器。 php <filename.php>
  • 輸出顯示「連接成功」。下面是輸出:

    Connected Successfully<br>PHP Notice: Undefined index: yname in /var/www/test.php on line 18 
    PHP Notice: Undefined index: faculty in /var/www/test.php on line 19 
    PHP Notice: Undefined index: class in /var/www/test.php on line 20 
    PHP Notice: Undefined index: uname in /var/www/test.php on line 21 
    PHP Notice: Undefined index: email in /var/www/test.php on line 22 
    PHP Notice: Undefined index: pwd in /var/www/test.php on line 23 
    PHP Notice: Undefined index: rpwd in /var/www/test.php on line 24 
    

PHP的通知是因爲數據沒有發佈到PHP。但連接成功,我可以通過確保上述步驟訪問數據庫。

+0

當列表內部指示代碼塊時,向每行添加** 4個空格(總共8個空格)。這會導致列表中的代碼塊:) –