赞
踩
免费的 MySQL 数据库通常是通过 PHP 来使用的。
在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。
在 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);
- ?>
数据库存有一个或多个表。
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 语句。
下面的例子展示了如何创建一个名为 "Persons" 的表,此表有三列。列名是 "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 Persons
- (
- 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 Persons
- (
- personID int NOT NULL AUTO_INCREMENT,
- PRIMARY KEY(personID),
- FirstName varchar(15),
- LastName varchar(15),
- Age int
- )";
-
- mysql_query($sql,$con);
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 连接发送查询或命令。
在前面的章节,我们创建了一个名为 "Persons" 的表,有三个列:"Firstname", "Lastname" 以及 "Age"。我们将在本例中使用同样的表。下面的例子向 "Persons" 表添加了两个新记录:
- <?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 Persons (FirstName, LastName, Age)
- VALUES ('Peter', 'Griffin', '35')");
-
- mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
- VALUES ('Glenn', 'Quagmire', '33')");
-
- mysql_close($con);
- ?>
现在,我们创建一个 HTML 表单,这个表单可把新记录插入 "Persons" 表。
这是这个 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 Persons (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)
- ?>
SELECT 语句用于从数据库中选取数据。
SELECT 语句用于从数据库中选取数据。
SELECT column_name(s) FROM table_name
注释:SQL 语句对大小写不敏感。SELECT 与 select 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 MySQL 发送查询或命令。
下面的例子选取存储在 "Persons" 表中的所有数据(* 字符选取表中所有数据):
- <?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 Persons");
-
- 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 表格中:
- <?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 Persons");
-
- 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);
- ?>
如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。
如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。
- SELECT column FROM table
- WHERE column operator value
注释:SQL 语句对大小写不敏感。WHERE 与 where 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 SQL 连接发送查询和命令。
下面的例子将从 "Persons" 表中选取所有 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 Persons
- WHERE FirstName='Peter'");
-
- while($row = mysql_fetch_array($result))
- {
- echo $row['FirstName'] . " " . $row['LastName'];
- echo "<br />";
- }
-
- ?>
ORDER BY 关键词用于对记录集中的数据进行排序。
ORDER BY 关键词用于对记录集中的数据进行排序。
- SELECT column_name(s)
- FROM table_name
- ORDER BY column_name
注释:SQL 对大小写不敏感。ORDER BY 与 order by 等效。
下面的例子选取 "Persons" 表中的存储的所有数据,并根据 "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 Persons ORDER BY age");
-
- while($row = mysql_fetch_array($result))
- {
- echo $row['FirstName'];
- echo " " . $row['LastName'];
- echo " " . $row['Age'];
- echo "<br />";
- }
-
- mysql_close($con);
- ?>
UPDATE 语句用于中修改数据库表中的数据。
UPDATE 语句用于在数据库表中修改数据。
- UPDATE table_name
- SET column_name = new_value
- WHERE column_name = some_value
注释:SQL 对大小写不敏感。UPDATE 与 update 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数。该函数用于向 SQL 连接发送查询和命令。
稍早时,我们在本教程中创建了一个名为 "Persons" 的表。它看起来类似这样:
下面的例子更新 "Persons" 表的一些数据:
- <?php
- $con = mysql_connect("localhost","peter","abc123");
- if (!$con)
- {
- die('Could not connect: ' . mysql_error());
- }
-
- mysql_select_db("my_db", $con);
-
- mysql_query("UPDATE Persons SET Age = '36'
- WHERE FirstName = 'Peter' AND LastName = 'Griffin'");
-
- mysql_close($con);
- ?>
DELETE FROM 语句用于从数据库表中删除行。
DELETE FROM 语句用于从数据库表中删除记录。
- DELETE FROM table_name
- WHERE column_name = some_value
注释:SQL 对大小写不敏感。DELETE FROM 与 delete from 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数。该函数用于向 SQL 连接发送查询和命令。
稍早时,我们在本教程中创建了一个名为 "Persons" 的表。它看起来类似这样:
下面的例子删除 "Persons" 表中所有 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 Persons WHERE LastName='Griffin'");
-
- mysql_close($con);
- ?>
ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。
通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。
这是创建到达 MS Access 数据的 ODBC 连接的方法:
请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行 Internet 信息服务器 (IIS),上面的指令会生效,但是假如您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立 DSN。
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。