我想要使用要使用PHP和MySQL
這是一個基本的教程
多說一句
在這個教程中
我們將同時學習MySQL和PHP
第一節
好
第一步
讓我們假設一下在你的機器上已經有一個運行著的web服務器
用程序
一個在Windows上最容易安裝的服務器是OmniHTTPd(
常好的自由web服務器
一旦你從站點上得到了安裝文件
那麼你將會把它安裝在c:httpd下
windows的系統托盤中可以看到一個新的圖標
好了
第二步
得到PHP Win
位置就可以了
在OmniHTTPd上安裝PHP非常簡單
最先Unzip安裝文件到你的硬盤上
拷貝文件
WinNT/Win
按下面編輯php
改變
選擇想在PHP啟動時裝入的模塊
要確認去掉了extension=php
PHP問答集/FAQ
dl(
PHP擴展庫以
現在跟著簡單的步驟配置OmniHTTPd:
在系統托盤中右擊藍色的OmniHTTPd圖標
點擊Web Server Global Settings項
點中
然後單擊
選擇Mime tab標簽並且在
擊
單擊 OK
在同一個窗體中選擇Default Virtual Settings
現在單擊Server tab標簽
在
單擊 OK
好
創建一個名為index
<?
echo
?>
啟動你的浏覽器
下面
去
錄並且運行安裝程序(setup
如果你選擇了缺省的典型安裝
現在
進行一些測試
首先
並在幾秒鐘後關閉
如果想檢查一下MySQL
好
第二部分
首先我們需要創建要使用的數據庫和表
名
如果要看在MySQL中已經定義了哪些表
Mysql> show databases; <回車>
這個命令可能顯示如下信息
+
| Database |
+
| mysql |
| test |
+
為了定義一個新的數據庫(example)
Mysql> create database example; <回車>
你將會看到一個回答
Query OK
很發
數據庫
Mysql> use example; <回車>
回答應該是
Database changed
現在我們可以建表了
索引號
用戶名
用戶姓
自由信息
在MySQL提示符下鍵入下面的命令來創建表
MySQL> create table tbl (idx integer(
回答應該是
Query OK
好
MySQL> show columns from tbl; <回車>
我們將得到下面的結果
+
| Field | Type | Null | Key | Default | Extra |
+
| idx | int(
| UserName | varchar(
| LastName | varchar(
| FreeText | varchar(
+
在這裡
現在讓我們看一下表中有什麼內容
MySQL> select * from tbl;<回車>
這個命令是用來顯示表
Empty set (
之所以得到這個結果
MySQL> insert into tbl values (
Query OK
如上所見
定數據的順序
MySQL> insert into tbl (idx
好
MySQL> select * from tbl;<回車>
這次的結果是
+
| idx | UserName | LastName | FreeText |
+
|
+
現在我們可以看到表的結構和每一個單元格的內容
現在我們想刪除數據
MySQL> delete from tbl where idx=
好
只限制刪除一條記錄
我們只有一條記錄
不幸的是
MySQL> insert into tbl values (
Query OK
另一件可以做的事是
MySQL>update tbl set UserName=
Query OK
Rows matched:
這個命令將搜索所有UserName為
定要一樣
MySQL>update tbl set UserName=
Query OK
這個查詢搜索了兩個字段
第三部分
在這個部分裡
我們將建立下面的站點結構(假設你已經知道一些基本的HTML的知識)
首先
看一下下面的腳本
Index
<html>
<head><title>Web Database Sample Index</title>
</head>
<body bgcolor=#ffffff>
<h
<?
mysql_connect() or die (
$query =
$result = mysql_db_query(
if ($result) {
echo
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$text = $r[
echo
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>
}
echo
}
else
{
echo
}
mysql_free_result($result);
include (
?>
</body>
</html>
好
我們先用正常的html標簽創建thml文檔
mysql_connect() 命令告訴PHP建立一個與MySQL服務器的連接
不成功
多的信息和其它的PHP函數
現在
mysql_connect (localhost
我們可以將$query設成我們想在MySQL中執行的查詢
$result = mysql_db_query(
這時
我們使用MySQL命令select(象上面所描述的)來從表中取得所有的數據
$query =
簡單地解釋一下$result的作用
果出錯則返回false
現在
為了檢查是否存在數據
if (argument) {
} else {
}
這時
false時所要執行的命令
注意我們使用echo命令來輸出一些html標簽來建立html的表格結構
看成html內容
我們使用的另一個命令是while指令
while (argument)) {
}
while循環在argument=true時會不停地重復
這裡我們組合了while循環和PHP函數$r=mysql_fetch_array($result)
符取回一條記錄
鍵值
$r[
我們也可以使用mysql_fetch_row函數
$r[
要了解關於這些函數的更深入的信息請訪
現在
echo
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>
現在我們可以釋放MySQL連接
PHP另一個有用的特性是在腳本中包括文本文件的功能
它頁面的鏈接)
我們只需要改變包含文件的內容
這裡我們創建一個名為Links
<p></p>
<ul>
<li><a >Home</a>
<li><a >Add a new entry to the DataBase</a>
<li><a >Edit an entry</a>
<li><a >Delete an entry from the DataBase</a>
</ul>
include的語法是
Include (
現在我們可以用?>來關閉PHP部分
使用表單增加數據
讓我們看一下下面的代碼
<html>
<head><title>Add an entry to the database</title>
</head>
<body bgcolor=#ffffff>
<h
<form method=
<table width=
<tr><td>Index:</td><td><input type=text name=
<tr><td>UserName:</td><td><input type=text name=
maxlength=
<tr><td>LastName:</td><td><input type=text name=
maxlength=
<tr><td>FreeText:</td><td><input type=text name=
<tr><td></td><td><input type=submit value=add></td></tr>
</form>
</table>
<?php include (
</body>
</html>
假設你對表單很熟悉
add
FreeText
我們再一次使用了include命令<? include (
讓我們看一下add
<html>
<body>
<?
if ($UserName)
{
mysql_connect() or die (
$query =
$result = mysql_db_query(
echo
$query =
$result = mysql_db_query(
if ($result)
{
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$free = $r[
echo
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$free</td>
</tr>
} // while循環結束
echo
}
else
{
echo
} // if結束($result)
}
else
{
echo
} // if結束($UserName)
echo
include (
?>
</body>
</html>
解釋
這一部分包含兩個主要部分
從數據庫中打印出表的內容
第一部分
首先我們象通常一樣使用mysql_connect()來同數據庫連接
然後我們使用下面查詢
$query =
這個查詢使用從前面表單傳遞過來的$idx
tbl表中
注意
簡單
從數據庫中編輯一條記錄
讓我們假設一下
數據庫中存在字段的值
考慮下面的腳本
edit
<html>
<head><title>Editing an entry from the database</title>
</head>
<body bgcolor=#ffffff>
<h
<?
mysql_connect() or die (
$query =
$result = mysql_db_query(
if ($result)
{
echo
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$text = $r[
echo
<td align=center>
<a editing
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>
}
echo
}
else
{
echo
}
mysql_free_result($result);
include (
?>
</body>
</html>
如你所見
<a editing
這一行建立了一個到editing
是使用的是鏈接
將把它看成PHP腳本的一部分並且作為被打印的信息
我們想將數據庫中的記錄全部轉換到過
一些
Editing
<html>
<head><title>Editing an entry</title>
</head>
<body bgcolor=#ffffff>
<h
<form method=
<table width=
<tr><td>idx:</td><td><?php echo
<tr><td>UserName:</td><td><input type=text name=UserName size=
value=
<tr><td>LastName:</td><td><input type=text name=LastName size=
value=
<tr><td>Free Text:</td><td><input type=text name=FreeText size=
value=
<tr><td></td><td><input type=submit value=
<input type=hidden name=idx value=
</form>
<?php include (
</body>
</html>
好
type= > 命令中的value屬性
現在
將變成新的值
editdb
<?php
mysql_connect() or die (
$query =
idx=
idx=
$result = mysql_db_query(
$query =
$result = mysql_db_query(
if ($result)
{
echo
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$text = $r[
echo
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>
}
echo
}
else
{
echo
}
mysql_free_result($result);
include (
?>
基本上要關心的一件事情是下面一行
$query =
注意
如果表中有多條idx等於$idx的記錄
改動一下where子句
$query =
這個語法將檢查所有的字段
從數據庫中刪除一條記錄
好
錄一樣)
del
<html>
<head><title>Deleting an entry from the database</title>
</head>
<body bgcolor=#ffffff>
<h
<?
mysql_connect() or die (
$query =
$result = mysql_db_query(
if ($result)
{
echo
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$text = $r[
echo
<td align=center>
<a dele
idx=$idx&UserName=$user&LastName=$last&FreeText=$text
<td>$user</td>
<td>$last</td>
<td>$dtext</td>
</tr>
}
echo
}
else
{
echo
}
mysql_free_result($result);
include (
?>
</body>
</html>
這個腳本與我們用過的編輯腳本很象
dele
<?php
mysql_connect() or die (
$query =
LastName=
$result = mysql_db_query(
$query =
$result = mysql_db_query(
if ($result)
{
echo
echo
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
<td align=center bgcolor=#
</tr>
while ($r = mysql_fetch_array($result))
{
$idx = $r[
$user = $r[
$last = $r[
$text = $r[
echo
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>
}
echo
}
else
{
echo
}
mysql_free_result($result);
include (
?>
這個腳本看上去很熟悉
$query =
這個查詢將會刪除所有與前面的腳本傳遞來的信息相配匹的記錄
好了
From:http://tw.wingwit.com/Article/program/PHP/201311/20851.html