对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资H料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用PHP连接到MySQL数据库的。
我准备建立一个简单的通讯录,数据库的名字叫txl,数据库只有一个表叫personal_info,表中有5个字段
pi_id pi_name pi_tel pi_qq pi_email
首先我们要创建数据库:
create database txl;
然后我们建立表
CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) default NULL,
`pi_qq` varchar(15) default NULL,
`pi_email` varchar(50) default NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
上面的sql语句很简单,通过字面都能猜出什么意思。
下面是连接到数据库并且显示表personal_info的所有字段信息:
// connsql.php
<?php
$mysql_server_name="localhost"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password="root"; // 连接数据库密码
$mysql_database="lxr"; // 数据库的名字
// 连接到数据库
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
// 从表中提取信息的sql语句
$strsql="select * from personal_info";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
echo '<font face="verdana">';
echo '<table border="1" cellpadding="1" cellspacing="2">';
// 显示字段名称
echo "/n<tr>/n";
for ($i=0; $i<mysql_num_fields($result); $i++)
{
echo '<td bgcolor="#000F00"><b>'.
mysql_field_name($result, $i);
echo "</b></td>/n";
}
echo "</tr>/n";
// 定位到第一条记录
mysql_data_seek($result, 0);
// 循环取出记录 何问起
while ($row=mysql_fetch_row($result))
{
echo "<tr>/n";
for ($i=0; $i<mysql_num_fields($result); $i++ )
{
echo '<td bgcolor="#00FF00">';
echo "$row[$i]";
echo '</td>';
}
echo "</tr>/n";
}
echo "</table>/n";
echo "</font>";
// 释放资源 hovertree.com
mysql_free_result($result);
// 关闭连接
mysql_close();
?>
下面是运行结果:
pi_id pi_name pi_tel pi_qq pi_email
1 Zhangsan 13911111111 642864125 chinastor@chinastor.cn
2 Lisi 13122222222 63958741 lisi@chinastor.cn
3 Wangwu 13833333333 912345678 wangwu@chinastor.cn
所谓“万变不离其宗”,再复杂的操作也都是基于上面的来的,都少不了上面的基本的步骤,当需要时查一下相关的手册便可以解决。
附参考代码:
<h1>插入操作</h1>
<?php
if(!isset($_POST['submit'])){
//如果没有表单提交,显示一个表单
?>
<form action="" method="post">
国家:<input type="text" name="country" />
动物名称(英文):<input type="text" name="animal" />
动物名称(中文):<input type="text" name="cname" />
<input type="submit" name="submit" value="提交表单" />
</form>
<?php
}
else
{
//如果提交了表单 hovertree.com
//数据库连接参数
$host = "localhost";
$user = "root";
$pass = "zq19890319";
$db = "phpdev";
//取得表单中的值,检查表单中的值是否符合标准,并做适当转义,防止SQL注入
$country = empty($_POST['country'])? die("请输入国家名称"):
mysql_escape_string($_POST['country']);
$animal = empty($_POST['animal'])? die("请输入英文名"):
mysql_escape_string($_POST['animal']);
$cname = empty($_POST['cname'])? die("请输入中文名"):
mysql_escape_string($_POST['cname']);
//打开数据库连接 何问起
$connection = mysql_connect($host, $user, $pass) or die("Unable to connect!");
//选择数据库
mysql_select_db($db) or die("Unable to select database!");
//构造一个SQL查询
$query = "INSERT INTO symbols(country, animal, cname) VALUE('$country', '$animal', '$cname')";
//执行该查询
$result = mysql_query($query) or die("Error in query: $query. ".mysql_error());
//插入操作成功后,显示插入记录的记录号
echo "记录已经插入, mysql_insert_id() = ".mysql_insert_id();
//关闭当前数据库连接
mysql_close($connection);
}
?>