0

0

PHP链接MySQL的常用扩展函数,php链接mysql_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:16:14

|

942人浏览过

|

来源于php中文网

原创

PHP链接MySQL的常用扩展函数,php链接mysql

一、PHP连接数据库及基本操作

MySQL采用的是'客户机/服务器'架构。使用PHP安装的MySQL扩展函数,和直接使用客户端软件区访问MySQL数据库服务器,原理一样,都需要向MySQL管理系统发送SQL命令,然后将结果返回给用户。

在PHP中,SQL分为两类(查看SQL语句分类):一是有返回结果集的DQL语句,如select/desc 表名,执行完毕之后,需要PHP处理结果集;二是没有结果集的,如DML、DDL等,但是DML语句执行成功后对数据表的记录有影响。

<?php<br>//连接数据库,常用参数是主机名、用户名和密码<br>$link = mysql_connect('localhost','root','123456');<br>//判断是否连接成功<br>if(!$link)<br>{<br>die('连接失败'.mysql.error()); //连接成功返回资源标识符,失败返回false,mysql_error显示错误信息<br>}<br><br>//选择数据库,mysql_error()只在调试中使用,再部署项目时就不要了,不然会泄露数据库信息<br>mysql_select_db('test') or die('选择数据库失败'.mysql_error());<br><br>//mysql_query()可以设置字符集和执行SQL语句<br>mysql_query('set names utf-8');<br>$sql = 'insert into test(id,name) values("1","dwqs")';<br>$result = mysql_query($sql);  //执行sql返回结果集<br><br>//处理结果集,insert属于DML,会对表的记录有影响<br>if($result && mysql_affected_rows() > 0)<br>{<br>//mysql_insert_id()返回最后一条新纪录的auto_increment值<br>echo '插入数据成功'.mysql_insert_id().'<br/>';<br>}<br>else<br>{<br>echo '插入数据失败,错误号:'.mysql_errno().'错误信息:'.mysql_error().'<br/>';<br>}<br><br>//关闭连接<br>mysql_close($link);<br>?>

二、PHP处理select查询结果集

立即学习PHP免费学习笔记(深入)”;

在PHP中执行select语句返回一个结果集,可以用于对各个字段的处理

$result = mysql_query('select * from test');<br>//获取记录行的个数<br>$rows = mysql_num_rows($result);<br>//获取字段个数,即数据列<br>$cols = mysql_num_fields($result);

如果需要访问结果集中的数据,可以使用下列四个函数中的一个(均以结果集资源符作为参数,并自动返回下一条记录,在表末尾时返回false)

1、mysql_fetch_row():该函数将一条结果记录返回并以一个普通的索引数据保存

2、mysql_fetch_assoc():从结果集中取得一行作为关联数据保存

S-CMS企业建站系统(含APP/小程序)5.0 build20230614
S-CMS企业建站系统(含APP/小程序)5.0 build20230614

闪灵CMS企业建站系统是淄博闪灵网络科技有限公司开发的一款专门为企业建站提供解决方案的产品,前端模板样式主打HTML5模板,以动画效果好、页面流畅、响应式布局为特色,程序主体采用PHP+MYSQL构架,拥有独立自主开发的一整套函数、标签系统,具有极强的可扩展性,设计师可以非常简单的开发出漂亮实用的模板。系统自2015年发布第一个版本以来,至今已积累上万用户群,为上万企业提供最优质的建站方案。

下载

3、mysql_fetch_array():从结果集中取得一行作为关联数组,或数字数组,或二者兼有。可以使用MYSQL_ASSOC(关联数组形式)、MYSQL_NUM(索引数组形式)和MYSQL_BOTH作为第二个参数,指定返回的数据形态。

4、mysql_fetch_object():从结果集中取得一行作为对象,各个字段以对象方式访问。

建议:没有特殊要求,不要使用mysql_fetch_array(),可以使用mysql_fetch_row()或者mysql_fetch_assoc()实现同样的功能,且效率高。

另外也有三个与结果集相关的常用函数

5、mysql_data_seek(int $num):移动内部结果的指针,$num是想要设定的新的结果集指针的行数。

6、mysql_fetch_lengths(resource <font face="NSimsun">$result</font>):取得结果集中每个输出的长度

7、mysql_result(resource <font face="NSimsun">$result</font> , int <font face="NSimsun">$row[,mixed $field]</font>):返回 MySQL 结果集中一个单元的内容。字段参数可以是字段的偏移量或者字段名,或者是字段表点字段名(tablename.fieldname)。如果给列起了别名('select foo as bar from…'),则用别名替代列名。调用 mysql_result()不能和其它处理结果集的函数混合调用。

php对于连接mysql函数的应用

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

mysql_fetch_array(data,array_type)
参数data:可选。规定规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
参数:array_type可选。规定返回哪种结果。该参数可选值:MYSQL_ASSOC - 关联数组
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组 。
注释:mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

例子:
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person WHERE Lastname='Adams'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));

mysql_close($con);
?>
输出类似:
Array
(
[0] => Adams
[LastName] => Adams
[1] => John
[FirstName] => John
[2] => London
[City] => London
)
///////////////////////
mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。
返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。
mysql_fetch_assoc(data)
参数:data(必需)要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。

注释:mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它仅仅返回关联数组。这也是 mysql_fetch_array() 初始的工作方式。
提示:如果在关联索引之外还需要数字索引,用 mysql_fetch_array()。
注意:本函数返回的字段名是区分大小写的。

例子如下:
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysq......余下全文>>
 

对于php连接mysql函数

由于没有看到完整的代码,仅就看到的代码试作解答如下:

1. Notice: Undefined variable: db in C:\xampp\htdocs\shop\files\mysql.php on line 5
警告:未字义的变量db(第5行不太清楚是哪行代码)。

这个错误提示,从已知的代码来看,其原因应该是你在函数体里引用了一个函数体外定义的变量(db),从代码看其实就是没有注意到, 对于变量 作用域范围(全局、局部)错误应用的问题。

简单的说,函数 select_mycx 里找不到 db。

解决办法:

(1). 用参数传递进去。

function select_mycx($table,$by,$select_str,$number,$db)
{
.....
}

(2). 在参数体里定义全局变量引用:

function select_mycx($table,$by,$select_str,$number)
{
global $db;

....
}

2.Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\shop\files\mysql.php on line 5

这个错误实际上是上面的错误引起的,因为$db没有正确引入,所以再 query 当然不能正确执行。
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/898292.htmlTechArticlePHP链接MySQL的常用扩展函数,php链接mysql 一、PHP连接数据库及基本操作 MySQL采用的是'客户机/服务器'架构。使用PHP安装的MySQL扩展函数,和直...

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

797

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

272

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

144

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

25

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

92

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

53

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

717

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

64

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号