PHP能支持绝大多数的数据库,如Oracle、SQLServer、Sybase、MySQL等。其中Mysql是一种常用的开源数据库,其有跨平台、使用方便、访问效率高等特点。
通常,PHP、Mysql和Apache一起构成Linux平台下搭建Web网站的黄金组合。
那么接下来介绍一下如何使用php连接mysql以及对数据库的操作。
1.与Mysql服务器连接的方法,可以通过使用mysql_pconnect()函数或者mysql_connect()函数来实现。
mysql_pconnect()函数的作用是打开一个到MySQL服务器的持久连接,而mysql_connect()函数就是打开一个MySQL服务器连接。
简单用例1:
以root身份使用mysql_connect()连接MySQL服务器,连接成功则显示返回语句“MySQL服务器已经连接”,反之,显示“连接出错”,提示并显示出错原因。
<?php
$link=mysql_connect("localhost","root","")or die("连接出错:".mysql_error());
print("Mysql服务器已经连接<br>");
?>
分析:连接到MySQL服务器成功,则返回值为真,通过“or”连接的函数die不再执行,如果连接MySQL不成功,逻辑“or”连接函数die继续执行,执行die后退出程序。
2.成功连接数据库后,如果选择要访问的数据库,可以使用mysql_select_db()函数来实现。
简单用例2:
以root身份使用mysql_connect()连接MySQL服务器,连接成功则显示返回语句“MySQL服务器已经连接”,反之,显示“连接出错”,提示并显示出错原因。连接MySQL服务器成功后,选择该服务器上的数据库sw_test,选择成功显示“回归测试数据库已连接”,最后显示当前账号。
<?php
$user=root;
$link=mysql_connect("localhost","$user","") or die("连接出错:".mysql_error());
echo "mysql服务器已经连接<br>";
mysql_select_db('sw_test',$link) or die("数据库连接出错,请重新连接:".mysql_error());
echo "mysql数据库已经连接<br>";
echo "用户名为$user";
mysql_close($link);
?>
3.执行mysql语句
在PHP中执行mysql语句的一般过程如下:
a. 创建mysql用户(或者之前已经创建)
b. 连接mysql服务器及所要连接的数据库(需要连接变量名$link)
c. 选择数据库表
d. 执行mysql语句
简单用例3:
以root身份连接数据库commodity,选择成功显示“mysql数据库已连接”,用mysql_fetch_array()把商品存储表里面的商品号,商品名,入仓时间、到期时间、库存量等字段信息以表格的形式显示,再用mysql_fetch_row()把商品存储表里的商品号、商品名称、单价和供应商显示出来。
<h1>这里是使用mysql_fetch_array查询结果</h1>
<table border="1">
<tr><td>商品号</td><td>商品名</td><td>入仓时间</td><td>到期时间</td><td>库存量</td></tr>
<?php
mysql_connect("localhost","root","") or die("连接服务器失败:".mysql_error());
echo "mysql服务器已连接<br>";
$result=mysql_db_query("commodity","select ID,name,in_time,deadtime,stocks from commodity_stocks");
while($row=mysql_fetch_array($result))
{
?>
<tr>
<td><?php echo $row["ID"]; ?></td>
<td><?php echo $row["name"]; ?></td>
<td><?php echo $row["in_time"]; ?></td>
<td><?php echo $row["deadtime"]; ?></td>
<td><?php echo $row["stocks"]; ?></td>
</tr>
<?php
}
mysql_free_result($result);
?>
</table>
<h1>这里是使用mysql_fetch_row查询结果</h1>
<table border="1">
<tr><td>商品号</td><td>商品名</td><td>单价</td><td>供应商</td></tr>
<?php
$result2=mysql_db_query("commodity","select ID,name,price,supplier from commodity_stocks");
while($row2=mysql_fetch_row($result2))
{
?>
<tr>
<td><?php echo $row2[0] ?></td>
<td><?php echo $row2[1] ?></td>
<td><?php echo $row2[2] ?></td>
<td><?php echo $row2[3] ?></td>
</tr>
<?php
}
mysql_free_result($result2);
?>
</table>
我们可以看到网页上的运行结果如下: