对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用php连接到数据库的。
我准备建立一个简单的通讯录,数据库的名字叫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 zhangsan@126.com
2 Lisi 13122222222 63958741 lisi@163.com
3 Wangwu 13833333333 912345678 wangwu@sohu.com
所谓“万变不离其宗”,再复杂的操作也都是基于上面的来的,都少不了上面的基本的步骤,当需要时查一下相关的手册便可以解决。
附参考代码:
<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); } ?>