PHP MySQL 簡介
MySQL 是最流行的開源數據庫服務器。
什么是 MySQL?
MySQL 是一種數據庫。數據庫定義了存儲信息的結構。
在數據庫中,存在著一些表。類似 HTML 表格,數據庫表含有行、列以及單元。
在分類存儲信息時,數據庫非常有用。一個公司的數據庫可能擁有這些表:"Employees", "Products", "Customers" 以及 "Orders"。
數據庫表
數據庫通常包含一個或多個表。每個表都一個名稱(比如 "Customers" 或 "Orders")。每個表包含帶有數據的記錄(行)。
下面是一個名為 "Persons" 的表的例子:
上面的表含有三個記錄(每個記錄是一個人)和四個列(LastName, FirstName, Address 以及 City)。
查詢
查詢是一種詢問或請求。
通過 MySQL,我們可以向數據庫查詢具體的信息,并得到返回的記錄集。
請看下面的查詢:
上面的查詢選取了 Persons 表中 LastName 列的所有數據,并返回類似這樣的記錄集:
下載 MySQL 數據庫
如果您的 PHP 服務器沒有 MySQL 數據庫,可以在此下載 MySQL:http://www.mysql.com/downloads/index.html
Facts About MySQL Database
關于 MySQL 的一點很棒的特性是,可以對它進行縮減,來支持嵌入的數據庫應用程序。也許正因如此,許多人認為 MySQL 僅僅能處理中小型的系統。
事實上,對于那些支持巨大數據和訪問量的網站,MySQL 是事實上的標準數據庫(比如 Friendster, Yahoo, Google)。這個地址提供了使用 MySQL 的公司的概覽:http://www.mysql.com/customers/。
PHP MySQL 連接數據庫
免費的 MySQL 數據庫通常是通過 PHP 來使用的。
連接到一個 MySQL 數據庫
在您能夠訪問并處理數據庫中的數據之前,您必須創建到達數據庫的連接。
在 PHP 中,這個任務通過 mysql_connect() 函數完成。
語法
注釋:雖然還存在其他的參數,但上面列出了最重要的參數。請訪問 W3School 提供的 PHP MySQL 參考手冊,獲得更多的細節信息。
例子
在下面的例子中,我們在一個變量中 ($con) 存放了在腳本中供稍后使用的連接。如果連接失敗,將執行 "die" 部分:
關閉連接
腳本一結束,就會關閉連接。如需提前關閉連接,請使用 mysql_close() 函數。
PHP MySQL 創建數據庫和表
數據庫存有一個或多個表。
創建數據庫
CREATE DATABASE 語句用于在 MySQL 中創建數據庫。
語法
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。此函數用于向 MySQL 連接發送查詢或命令。
例子
在下面的例子中,我們創建了一個名為 "my_db" 的數據庫:
創建表
CREATE TABLE 用于在 MySQL 中創建數據庫表。
語法
為了執行此命令,我必須向 mysql_query() 函數添加 CREATE TABLE 語句。
例子
下面的例子展示了如何創建一個名為 "person" 的表,此表有三列。列名是 "FirstName", "LastName" 以及 "Age":
重要事項:在創建表之前,必須首先選擇數據庫。通過 mysql_select_db() 函數選取數據庫。
注釋:當您創建 varchar 類型的數據庫字段時,必須規定該字段的最大長度,例如:varchar(15)。
MySQL 數據類型
主鍵和自動遞增字段
每個表都應有一個主鍵字段。
主鍵用于對表中的行進行唯一標識。每個主鍵值在表中必須是唯一的。此外,主鍵字段不能為空,這是由于數據庫引擎需要一個值來對記錄進行定位。
主鍵字段永遠要被編入索引。這條規則沒有例外。你必須對主鍵字段進行索引,這樣數據庫引擎才能快速定位給予該鍵值的行。
下面的例子把 personID 字段設置為主鍵字段。主鍵字段通常是 ID 號,且通常使用 AUTO_INCREMENT 設置。AUTO_INCREMENT 會在新紀錄被添加時逐一增加該字段的值。要確保主鍵字段不為空,我們必須向該字段添加 NOT NULL 設置。
例子
PHP MySQL Insert Into
INSERT INTO 語句用于向數據庫表中插入新紀錄。
向數據庫表插入數據
INSERT INTO 語句用于向數據庫表添加新紀錄。
語法
您還可以規定希望在其中插入數據的列:
注釋:SQL 語句對大小寫不敏感。INSERT INTO 與 insert into 相同。
為了讓 PHP 執行該語句,我們必須使用 mysql_query() 函數。該函數用于向 MySQL 連接發送查詢或命令。
例子
在前面的章節,我們創建了一個名為 "Person" 的表,有三個列:"Firstname", "Lastname" 以及 "Age"。我們將在本例中使用同樣的表。下面的例子向 "Person" 表添加了兩個新紀錄:
把來自表單的數據插入數據庫
現在,我們創建一個 HTML 表單,這個表單可把新紀錄插入 "Person" 表。
這是這個 HTML 表單:
當用戶點擊上例中 HTML 表單中的提交按鈕時,表單數據被發送到 "insert.php"。"insert.php" 文件連接數據庫,并通過 $_POST 變量從表單取回值。然后,mysql_query() 函數執行 INSERT INTO 語句,一條新的記錄會添加到數據庫表中。
下面是 "insert.php" 頁面的代碼:
PHP MySQL Select
SELECT 語句用于從數據庫中選取數據。
從數據庫表中選取數據
SELECT 語句用于從數據庫中選取數據。
語法
注釋:SQL 語句對大小寫不敏感。SELECT 與 select 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。該函數用于向 MySQL 發送查詢或命令。
例子
下面的例子選取存儲在 "Person" 表中的所有數據(* 字符選取表中所有數據):
上面這個例子在 $result 變量中存放由 mysql_query() 函數返回的數據。接下來,我們使用 mysql_fetch_array() 函數以數組的形式從記錄集返回第一行。每個隨后對 mysql_fetch_array() 函數的調用都會返回記錄集中的下一行。 while loop 語句會循環記錄集中的所有記錄。為了輸出每行的值,我們使用了 PHP 的 $row 變量 ($row['FirstName'] 和 $row['LastName'])。
以上代碼的輸出:
Peter Griffin
Glenn Quagmire
在 HTML 表格中顯示結果
下面的例子選取的數據與上面的例子相同,但是將把數據顯示在一個 HTML 表格中:
以上代碼的輸出:
PHP MySQL Where 子句
如需選取匹配指定條件的數據,請向 SELECT 語句添加 WHERE 子句。
WHERE 子句
如需選取匹配指定條件的數據,請向 SELECT 語句添加 WHERE 子句。
語法
下面的運算符可與 WHERE 子句一起使用:
注釋:SQL 語句對大小寫不敏感。WHERE 與 where 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
下面的例子將從 "Person" 表中選取所有 FirstName='Peter' 的行:
以上代碼的輸出:
Peter Griffin
PHP MySQL Order By 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
ORDER BY 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
語法
注釋:SQL 對大小寫不敏感。ORDER BY 與 order by 等效。
例子
下面的例子選取 "Person" 表中的存儲的所有數據,并根據 "Age" 列對結果進行排序:
以上代碼的輸出:
Glenn Quagmire 33
Peter Griffin 35
升序或降序的排序
如果您使用 ORDER BY 關鍵詞,記錄集的排序順序默認是升序(1 在 9 之前,"a" 在 "p" 之前)。
請使用 DESC 關鍵詞來設定降序排序(9 在 1 之前,"p" 在 "a" 之前):
根據兩列進行排序
可以根據多個列進行排序。當按照多個列進行排序時,只有第一列相同時才使用第二列:
PHP MySQL Update
UPDATE 語句用于中修改數據庫表中的數據。
更新數據庫中的數據
UPDATE 語句用于在數據庫表中修改數據。
語法
注釋:SQL 對大小寫不敏感。UPDATE 與 update 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query( 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
稍早時,我們在本教程中創建了一個名為 "Person" 的表。它看起來類似這樣:
下面的例子更新 "Person" 表的一些數據:
在這次更新后,"Person" 表格是這樣的:
PHP MySQL Delete From
DELETE FROM 語句用于從數據庫表中刪除行。
刪除數據庫中的數據
DELETE FROM 語句用于從數據庫表中刪除記錄。
語法
注釋:SQL 對大小寫不敏感。DELETE FROM 與 delete from 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query( 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
稍早時,我們在本教程中創建了一個名為 "Person" 的表。它看起來類似這樣:
下面的例子刪除 "Person" 表中所有 LastName='Griffin' 的記錄:
在這次刪除之后,表是這樣的:
PHP Database ODBC
ODBC 指的是(Application Programming Interface,API),使我們有能力連接到某個數據源(比如一個 MS Access 數據庫)。
創建 ODBC 連接
通過一個 ODBC 連接,您可以連接到您的網絡中的任何計算機上的任何數據庫,只要 ODBC 連接是可用的。
這是創建到達 MS Access 數據的 ODBC 連接的方法:
在控制面板中打開管理工具
雙擊其中的數據源 (ODBC) 圖標
選擇系統 DSN 選項卡
點擊系統 DSN 選項卡中的“添加”按鈕
選擇 Microsoft Access Driver。點擊完成。
在下一個界面,點擊“選擇”來定位數據庫。
為這個數據庫取一個數據源名 (DSN)。
點擊確定。
請注意,必須在您的網站所在的計算機上完成這個配置。如果您的計算機上正在運行 Internet 信息服務器 (IIS),上面的指令會生效,但是假如您的網站位于遠程服務器,您必須擁有對該服務器的物理訪問權限,或者請您的主機提供商為您建立 DSN。
連接到 ODBC
odbc_connect() 函數用于連接到 ODBC 數據源。該函數有四個參數:數據源名、用戶名、密碼以及可選的指針類型參數。
odbc_exec() 函數用于執行 SQL 語句。
例子
下面的例子創建了到達名為 northwind 的 DSN 的連接,不沒有用戶名和密碼。然后創建并執行一條 SQL 語句:
取回記錄
odbc_fetch_row() 函數用于從結果集中返回記錄。如果能夠返回行,則返回 true,否則返回 false。
該函數有兩個參數:ODBC 結果標識符和可選的行號:
從記錄中取回字段
odbc_result() 函數用于從記錄中讀取字段。該函數有兩個參數:ODBC 結果標識符和字段編號或名稱。
下面的代碼行從記錄中返回第一個字段的值:
The code line below returns the value of a field called "CompanyName":
關閉 ODBC 連接
odbc_close()函數用于關閉 ODBC 連接。
ODBC 實例
下面的例子展示了如何首先創建一個數據庫連接,然后是結果集,然后在 HTML 表格中顯示數據。
MySQL 是最流行的開源數據庫服務器。
什么是 MySQL?
MySQL 是一種數據庫。數據庫定義了存儲信息的結構。
在數據庫中,存在著一些表。類似 HTML 表格,數據庫表含有行、列以及單元。
在分類存儲信息時,數據庫非常有用。一個公司的數據庫可能擁有這些表:"Employees", "Products", "Customers" 以及 "Orders"。
數據庫表
數據庫通常包含一個或多個表。每個表都一個名稱(比如 "Customers" 或 "Orders")。每個表包含帶有數據的記錄(行)。
下面是一個名為 "Persons" 的表的例子:

上面的表含有三個記錄(每個記錄是一個人)和四個列(LastName, FirstName, Address 以及 City)。
查詢
查詢是一種詢問或請求。
通過 MySQL,我們可以向數據庫查詢具體的信息,并得到返回的記錄集。
請看下面的查詢:
SELECT LastName FROM Persons
上面的查詢選取了 Persons 表中 LastName 列的所有數據,并返回類似這樣的記錄集:

下載 MySQL 數據庫
如果您的 PHP 服務器沒有 MySQL 數據庫,可以在此下載 MySQL:http://www.mysql.com/downloads/index.html
Facts About MySQL Database
關于 MySQL 的一點很棒的特性是,可以對它進行縮減,來支持嵌入的數據庫應用程序。也許正因如此,許多人認為 MySQL 僅僅能處理中小型的系統。
事實上,對于那些支持巨大數據和訪問量的網站,MySQL 是事實上的標準數據庫(比如 Friendster, Yahoo, Google)。這個地址提供了使用 MySQL 的公司的概覽:http://www.mysql.com/customers/。
PHP MySQL 連接數據庫
免費的 MySQL 數據庫通常是通過 PHP 來使用的。
連接到一個 MySQL 數據庫
在您能夠訪問并處理數據庫中的數據之前,您必須創建到達數據庫的連接。
在 PHP 中,這個任務通過 mysql_connect() 函數完成。
語法
mysql_connect(servername,username,password);

注釋:雖然還存在其他的參數,但上面列出了最重要的參數。請訪問 W3School 提供的 PHP MySQL 參考手冊,獲得更多的細節信息。
例子
在下面的例子中,我們在一個變量中 ($con) 存放了在腳本中供稍后使用的連接。如果連接失敗,將執行 "die" 部分:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code ?>
關閉連接
腳本一結束,就會關閉連接。如需提前關閉連接,請使用 mysql_close() 函數。
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code mysql_close($con); ?>
PHP MySQL 創建數據庫和表
數據庫存有一個或多個表。
創建數據庫
CREATE DATABASE 語句用于在 MySQL 中創建數據庫。
語法
CREATE DATABASE database_name
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。此函數用于向 MySQL 連接發送查詢或命令。
例子
在下面的例子中,我們創建了一個名為 "my_db" 的數據庫:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } mysql_close($con); ?>
創建表
CREATE TABLE 用于在 MySQL 中創建數據庫表。
語法
CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
為了執行此命令,我必須向 mysql_query() 函數添加 CREATE TABLE 語句。
例子
下面的例子展示了如何創建一個名為 "person" 的表,此表有三列。列名是 "FirstName", "LastName" 以及 "Age":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // Create database if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } // Create table in my_db database mysql_select_db("my_db", $con); $sql = "CREATE TABLE person ( FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con); mysql_close($con); ?>
重要事項:在創建表之前,必須首先選擇數據庫。通過 mysql_select_db() 函數選取數據庫。
注釋:當您創建 varchar 類型的數據庫字段時,必須規定該字段的最大長度,例如:varchar(15)。
MySQL 數據類型


主鍵和自動遞增字段
每個表都應有一個主鍵字段。
主鍵用于對表中的行進行唯一標識。每個主鍵值在表中必須是唯一的。此外,主鍵字段不能為空,這是由于數據庫引擎需要一個值來對記錄進行定位。
主鍵字段永遠要被編入索引。這條規則沒有例外。你必須對主鍵字段進行索引,這樣數據庫引擎才能快速定位給予該鍵值的行。
下面的例子把 personID 字段設置為主鍵字段。主鍵字段通常是 ID 號,且通常使用 AUTO_INCREMENT 設置。AUTO_INCREMENT 會在新紀錄被添加時逐一增加該字段的值。要確保主鍵字段不為空,我們必須向該字段添加 NOT NULL 設置。
例子
$sql = "CREATE TABLE person ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con);
PHP MySQL Insert Into
INSERT INTO 語句用于向數據庫表中插入新紀錄。
向數據庫表插入數據
INSERT INTO 語句用于向數據庫表添加新紀錄。
語法
INSERT INTO table_name VALUES (value1, value2,....)
您還可以規定希望在其中插入數據的列:
INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....)
注釋:SQL 語句對大小寫不敏感。INSERT INTO 與 insert into 相同。
為了讓 PHP 執行該語句,我們必須使用 mysql_query() 函數。該函數用于向 MySQL 連接發送查詢或命令。
例子
在前面的章節,我們創建了一個名為 "Person" 的表,有三個列:"Firstname", "Lastname" 以及 "Age"。我們將在本例中使用同樣的表。下面的例子向 "Person" 表添加了兩個新紀錄:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("INSERT INTO person (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_query("INSERT INTO person (FirstName, LastName, Age) VALUES ('Glenn', 'Quagmire', '33')"); mysql_close($con); ?>
把來自表單的數據插入數據庫
現在,我們創建一個 HTML 表單,這個表單可把新紀錄插入 "Person" 表。
這是這個 HTML 表單:
<html> <body> <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
當用戶點擊上例中 HTML 表單中的提交按鈕時,表單數據被發送到 "insert.php"。"insert.php" 文件連接數據庫,并通過 $_POST 變量從表單取回值。然后,mysql_query() 函數執行 INSERT INTO 語句,一條新的記錄會添加到數據庫表中。
下面是 "insert.php" 頁面的代碼:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $sql="INSERT INTO person (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?>
PHP MySQL Select
SELECT 語句用于從數據庫中選取數據。
從數據庫表中選取數據
SELECT 語句用于從數據庫中選取數據。
語法
SELECT column_name(s) FROM table_name
注釋:SQL 語句對大小寫不敏感。SELECT 與 select 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。該函數用于向 MySQL 發送查詢或命令。
例子
下面的例子選取存儲在 "Person" 表中的所有數據(* 字符選取表中所有數據):
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?>
上面這個例子在 $result 變量中存放由 mysql_query() 函數返回的數據。接下來,我們使用 mysql_fetch_array() 函數以數組的形式從記錄集返回第一行。每個隨后對 mysql_fetch_array() 函數的調用都會返回記錄集中的下一行。 while loop 語句會循環記錄集中的所有記錄。為了輸出每行的值,我們使用了 PHP 的 $row 變量 ($row['FirstName'] 和 $row['LastName'])。
以上代碼的輸出:
Peter Griffin
Glenn Quagmire
在 HTML 表格中顯示結果
下面的例子選取的數據與上面的例子相同,但是將把數據顯示在一個 HTML 表格中:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['FirstName'] . "</td>"; echo "<td>" . $row['LastName'] . "</td>"; echo "</tr>"; } echo "</table>"; mysql_close($con); ?>
以上代碼的輸出:

PHP MySQL Where 子句
如需選取匹配指定條件的數據,請向 SELECT 語句添加 WHERE 子句。
WHERE 子句
如需選取匹配指定條件的數據,請向 SELECT 語句添加 WHERE 子句。
語法
SELECT column FROM table WHERE column operator value
下面的運算符可與 WHERE 子句一起使用:

注釋:SQL 語句對大小寫不敏感。WHERE 與 where 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
下面的例子將從 "Person" 表中選取所有 FirstName='Peter' 的行:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person WHERE FirstName='Peter'"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } ?>
以上代碼的輸出:
Peter Griffin
PHP MySQL Order By 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
ORDER BY 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
語法
SELECT column_name(s) FROM table_name ORDER BY column_name
注釋:SQL 對大小寫不敏感。ORDER BY 與 order by 等效。
例子
下面的例子選取 "Person" 表中的存儲的所有數據,并根據 "Age" 列對結果進行排序:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person ORDER BY age"); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br />"; } mysql_close($con); ?>
以上代碼的輸出:
Glenn Quagmire 33
Peter Griffin 35
升序或降序的排序
如果您使用 ORDER BY 關鍵詞,記錄集的排序順序默認是升序(1 在 9 之前,"a" 在 "p" 之前)。
請使用 DESC 關鍵詞來設定降序排序(9 在 1 之前,"p" 在 "a" 之前):
SELECT column_name(s) FROM table_name ORDER BY column_name DESC
根據兩列進行排序
可以根據多個列進行排序。當按照多個列進行排序時,只有第一列相同時才使用第二列:
SELECT column_name(s) FROM table_name ORDER BY column_name1, column_name2
PHP MySQL Update
UPDATE 語句用于中修改數據庫表中的數據。
更新數據庫中的數據
UPDATE 語句用于在數據庫表中修改數據。
語法
UPDATE table_name SET column_name = new_value WHERE column_name = some_value
注釋:SQL 對大小寫不敏感。UPDATE 與 update 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query( 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
稍早時,我們在本教程中創建了一個名為 "Person" 的表。它看起來類似這樣:

下面的例子更新 "Person" 表的一些數據:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("UPDATE Person SET Age = '36' WHERE FirstName = 'Peter' AND LastName = 'Griffin'"); mysql_close($con); ?>
在這次更新后,"Person" 表格是這樣的:

PHP MySQL Delete From
DELETE FROM 語句用于從數據庫表中刪除行。
刪除數據庫中的數據
DELETE FROM 語句用于從數據庫表中刪除記錄。
語法
DELETE FROM table_name WHERE column_name = some_value
注釋:SQL 對大小寫不敏感。DELETE FROM 與 delete from 等效。
為了讓 PHP 執行上面的語句,我們必須使用 mysql_query( 函數。該函數用于向 SQL 連接發送查詢和命令。
例子
稍早時,我們在本教程中創建了一個名為 "Person" 的表。它看起來類似這樣:

下面的例子刪除 "Person" 表中所有 LastName='Griffin' 的記錄:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("DELETE FROM Person WHERE LastName='Griffin'"); mysql_close($con); ?>
在這次刪除之后,表是這樣的:

PHP Database ODBC
ODBC 指的是(Application Programming Interface,API),使我們有能力連接到某個數據源(比如一個 MS Access 數據庫)。
創建 ODBC 連接
通過一個 ODBC 連接,您可以連接到您的網絡中的任何計算機上的任何數據庫,只要 ODBC 連接是可用的。
這是創建到達 MS Access 數據的 ODBC 連接的方法:
在控制面板中打開管理工具
雙擊其中的數據源 (ODBC) 圖標
選擇系統 DSN 選項卡
點擊系統 DSN 選項卡中的“添加”按鈕
選擇 Microsoft Access Driver。點擊完成。
在下一個界面,點擊“選擇”來定位數據庫。
為這個數據庫取一個數據源名 (DSN)。
點擊確定。
請注意,必須在您的網站所在的計算機上完成這個配置。如果您的計算機上正在運行 Internet 信息服務器 (IIS),上面的指令會生效,但是假如您的網站位于遠程服務器,您必須擁有對該服務器的物理訪問權限,或者請您的主機提供商為您建立 DSN。
連接到 ODBC
odbc_connect() 函數用于連接到 ODBC 數據源。該函數有四個參數:數據源名、用戶名、密碼以及可選的指針類型參數。
odbc_exec() 函數用于執行 SQL 語句。
例子
下面的例子創建了到達名為 northwind 的 DSN 的連接,不沒有用戶名和密碼。然后創建并執行一條 SQL 語句:
$conn=odbc_connect('northwind','',''); $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
取回記錄
odbc_fetch_row() 函數用于從結果集中返回記錄。如果能夠返回行,則返回 true,否則返回 false。
該函數有兩個參數:ODBC 結果標識符和可選的行號:
odbc_fetch_row($rs)
從記錄中取回字段
odbc_result() 函數用于從記錄中讀取字段。該函數有兩個參數:ODBC 結果標識符和字段編號或名稱。
下面的代碼行從記錄中返回第一個字段的值:
$compname=odbc_result($rs,1);
The code line below returns the value of a field called "CompanyName":
$compname=odbc_result($rs,"CompanyName");
關閉 ODBC 連接
odbc_close()函數用于關閉 ODBC 連接。
odbc_close($conn);
ODBC 實例
下面的例子展示了如何首先創建一個數據庫連接,然后是結果集,然后在 HTML 表格中顯示數據。
<html> <body> <?php $conn=odbc_connect('northwind','',''); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
