對於熟悉做網站的人來說,要想網站做成動態的,肯定要有數據庫的支持,利用特定的腳本連接到數據庫,從數據庫中提取資料、向數據庫中添加資料、刪除資料等。這里我通過一個實例來說明如何用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); } ?>