PHP操作MYSQL数据库

  1. 云栖社区>
  2. 博客>
  3. 正文

PHP操作MYSQL数据库

php码农 2016-02-21 19:27:51 浏览3066
展开阅读全文

MYSQL接口配置

Linux

必须在编译时加上一个—with-mysql选项

windows

通过一个DLL文件提供了相应的扩展

共同配置

不管使用是哪一种操作系统,都必须在php.ini文件里启用这个扩展以确保PHP能够找到所有必要的DLL

  • extension=php_mysql.dll
  • extension=php_mysqli.dll
  • extension=php_pdo_mysql.dll

PHP操作数据库步骤

screenshot

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();

网友评论

登录后评论
0/500
评论
php码农
+ 关注