2013-02-12 72 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页面中,但正如我说,你必须使用服务器端脚本语言。