MYSQL接口配置
Linux
必须在编译时加上一个—with-mysql选项
windows
通过一个DLL文件提供了相应的扩展
共同配置
不管使用是哪一种操作系统,都必须在php.ini文件里启用这个扩展以确保PHP能够找到所有必要的DLL
- extension=php_mysql.dll
- extension=php_mysqli.dll
- extension=php_pdo_mysql.dll
PHP操作数据库步骤
PHP连接MySQL
连接成功,则返回一个标识号码。否则返回FALSE,并报错。
@connect(localhost,root,密码)
可以屏蔽错误显示。
mysql_connect(localhost,root,密码);
PHP选择操作的数据库
与MySQL服务器建立连接后,成功时返回 TRUE , 或者在失败时返回 FALSE 。
mysql_select_db(数据库名称);
设置mysql编码
编码要与mysql数据库设置编码保持一致 否则乱码
mysql_query('SET NAMES UTF8');
执行SQL命令
为了执行SQL命令,需要把它们作为一个字符串传递给mysql_query()函数。
SQL命令执行成功,返回PHP资源的引用指针( 一个Resource id #2格式的字符串); 否则将返回FALSE,并生成一条出错消息;
mysql_query()函数可以用来执行任何一种SQL命令,比如 SELECT(查询)、INSERT(插入新记录)、UPDATE(修改现有记录)、DELETE(删除现有记录)、CREATE TABLE(创建新数据表)、ALTER TABLE(修改数据表结构)等。
mysql_query($sql)
获取和显示数据
函数 | 说明 |
mysql_fetch_row() | 返回一条结果普通数组,它的各个字段需要以$row[n]的方式进行访问。 |
mysql_fetch_assoc() | 返回一条结果关联数组,但它的各个字段只能以 $row["colname"]的方式进行访问。 |
mysql_free_result() | 提前释放某次查询结果 |
mysql_num_rows() | 获取查询返回的记录数 |
mysql_insert_id() | 获取INSERT 操作产生的 ID |
mysql_affected_rows () | 获取前一次 MySQL 操作所影响的记录数 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数 |
PHP关闭MySQL连接
查询MySQL服务器结束后,应当关闭连接。不过关闭连接不是必需的,因为PHP的垃圾回收机制会处理这个问题。mysql_close()函数关闭可选参数link_id对应的连接。如果没有指定link_id,则认为是最近打开的连接。
mysql_close([link_id ]);
完整实例
新建一个config.php 写mysql配置信息
header('Content-Type:text/html;charset=utf-8');
//常量参数
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PWD','yangfan');
define('DB_NAME','school');
//第一步,连接MYSQL服务器
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());
//第二步,选择指定的数据库,设置字符集
mysql_select_db(DB_NAME) or die('数据库错误,错误信息:'.mysql_error());
mysql_query('SET NAMES UTF8') or die('字符集设置错误'.mysql_error());
新建一个Demo.php 写sql执行 读取显示、释放资源、关闭数据库
require "dirname(__FILE__).config.php";
//新增数据
$query = "INSERT INTO grade (name,email,point,regdate) VALUES ('胡心鹏','bigbird@sina.com.cn',67,NOW())";
@mysql_query($query) or die('新增错误:'.mysql_error());
// //修改数据
// $query = 'UPDATE grade SET point=87 WHERE id=8';
// @mysql_query($query) or die('修改错误:'.mysql_error());
//删除数据
// $query = "DELETE FROM grade WHERE id=8";
// @mysql_query($query) or die('删除错误:'.mysql_error());
//显示数据
$query = "SELECT id,name,email,regdate FROM grade";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
//把结果集转换成的数组赋给$row,如果有数据,就为真
while (!!$row = mysql_fetch_array($result)) {
echo $row['id'].'----'.$row['name'].'----'.$row['email'];
echo '<br />';
}
mysql_close();