2013-02-12 73 views
0

如何將html頁面連接到MySQL,例如,我想在HTML文件中使用<?php echo $_POST['username']; ?>。我如何連接到MySQL。 我試過了這個:如何將HTML頁面連接到MySQL

<?php 
$con=mysql_connect("HOST", "USERNAME", "PASSWORD"); 
mysql_select_db("DATABASE"); 
?> 

但它沒有奏效。

+0

'$ _POST'不需要MySQL。 – webnoob 2013-02-12 08:40:01

+0

那麼,首先,這是PHP,而不是HTML,你不能使用HTML連接到MySQL。其次,使用$ _POST變量不需要連接到MySQL,如果沒有它,可以非常高興地執行echo $ _POST ['username']'。 – Seer 2013-02-12 08:40:33

回答

0

HTML的標記語言,基本上他們設置的,用來展示使用CSS網站和JavaScript作爲一個整體像<html>, <body>,標籤。所有這些發生在客戶系統或用戶將瀏覽網站。

現在,連接到數據庫,發生在另一個級別上。它發生在服務器上,這是網站的託管位置。

所以,爲了連接到數據庫,並執行相關動作的各種數據,你必須使用服務器端腳本,如PHP,JSP,asp.net等

現在,讓我們看到的一個片段使用PHP

$db = mysqli_connect('hostname','username','password','databasename'); 

的mysqli擴展這一行代碼連接,就足以讓你開始,你可以混合使用這樣的代碼,與HTML標籤相結合,創建一個HTML頁面,它是基於數據顯示頁面。例如:

<?php 
    $db = mysqli_connect('hostname','username','password','databasename'); 
?> 
<html> 
    <body> 
      <?php 
       $query = "SELECT * FROM `mytable`;"; 
       $result = mysqli_query($db, $query); 
       while($row = mysqli_fetch_assoc($result)) { 
         // Display your datas on the page 
       } 
      ?> 
    </body> 
</html> 

爲了插入新的數據到數據庫中,你可以使用phpMyAdmin或寫一個INSERT查詢並執行它們。

+1

是的除了這是一個糟糕的做法,將數據庫調用放入視圖層。您應該分開您的代碼,以便一個層處理持久性,一個處理業務邏輯,一個處理表示邏輯等。 – leftclickben 2013-02-12 09:05:52

0

您不能在HTML頁面中做到這一點,你需要寫一個PHP文件中的代碼,並將其保存在服務器上,然後執行它。

注意:mysql_ *函數已被棄用,您應該使用PHP的較新的mysqli_ *或PDO功能。

0

您需要在服務器上運行它,而不僅僅是在瀏覽器中運行它。

下載Apache,安裝PHP並用.php擴展名保存文件。然後它應該工作。

然後你可以回顯一個$_POST值,但你不會需要SQL的。

0
  1. 你不能不管PHP代碼添加到HTML頁面。它必須是一個PHP頁面。
  2. 你不需要一個mysql連接來回顯$ _POST ['username']
  3. 你不應該回顯任何$ _POST變量。處理POST請求後,網絡服務器應該命令瀏覽器使用GET方法重新加載頁面。雖然不需要AJAX調用。
+1

我知道第三點..你會澄清嗎? – mithunsatheesh 2013-02-12 08:42:07

+0

是的,對此也不太確定。 – Seer 2013-02-12 08:42:37

+0

我認爲他的意思是,如果你在POST成功後沒有做重定向,那麼用戶在瀏覽器中按下reload,它會重新POST數據。如果您使用重定向,那麼如果他們重新加載,它只是重新加載「謝謝」頁面或重定向到的任何地方。 – leftclickben 2013-02-12 09:07:41

0

您不能運行在HTML文件的PHP腳本。您的文件必須有.php擴展才能運行php腳本。

您應該使用MySQLi而不是mysql_函數,因爲這些函數被刪除!

+0

不完全正確;),如果你不想讓它們成爲'.php'文件,它們就沒有* have *。 – Seer 2013-02-12 08:43:02

+0

它必須是PDO。 mysqli無法使用準備好的語句(這是主要原因) – 2013-02-12 08:45:40

+0

我知道你可以在htaccess上設置任何文件來像php文件一樣運行,但他肯定不知道。他必須知道如何開始使用php – 2013-02-12 08:45:52

0

當然,這不應該工作,因爲HTML是客戶端和你正在做的,在服務器端的連接,所以你可能需要一些偉大的事情稱爲服務器端腳本語言來完成你的任務。

如何過你仍然可以使用Ajax做,在HTML頁面中,但正如我說,你必須使用服務器端腳本語言。