PHP操作MYSQL数据库

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: PHP连接MYSQL方式分别有MYSQL、MYSQLI、PDO接口。

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();
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
3月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
330 0
PHP和Mysql前后端交互效果实现
|
8月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
426 17
|
9月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
284 18
|
10月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
417 25
|
9月前
|
数据库连接 PHP 数据库
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
|
9月前
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
329 31
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
169 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。

推荐镜像

更多