1899-11-30 php mysql_PHP学习十一--PHP操作MYSQL数据库

1.PHP访问Mysql数据库的一般步骤

连接MySQL服务器

选择MySQL数据库

请求               执行SQL语句                        请求

MySQL数据库服务器    关闭结果集                    数据资源

响应               关闭MySQL服务器                 响应

(1).连接MySQL服务器。

通过mysql_connect()函数建立与MySQL服务器的连接。

mysql_connect('hostname','username','password');hostname为MySQL服务器的主机名或IP,其他两个为登录MySQL需要的用户名和密码。

$link = mysql_connect("localhost",'root','root');

if($link){

echo "数据源连接成功";

}

(2).选择MySQL数据库

使用mysql_select_db()函数选择MySQL数据库服务器上的数据库,并与数据库建立连接。

mysql_select_db(string 数据库名称, link_identifier);

$db_selected = mysql_select_db("db_database18",$link);

if($db_selected){

echo "数据库选择成功";

}

(3).执行SQL语句

1).使用mysql_query()语句进行对数据库操作。

mysql_query(string query, resource link_identifier);

$result = mysql_query("select * from bt_member",$link);

前一个参数放置SQL语句,后面是连接表示符。

2).使用mysql_fetch_array()函数从数组结果中获取信息

array mysql_fetch_array(resource result,int result_type);

$info = mysql_fetch_array($result);

3).使用mysql_fetch_object()函数同样

此函数和mysql_fetch_array()函数类似,区别只有一点,即此函数返回的是一个对象而不是数组,该函数只能通过字段名来访问数组。使用下面的格式来获取结果集中行的元素值。如从数据表中检索id和name的值:$row->col_name

$info = mysql_fetch_object($sql);

<?php echo $info->bookname?>

4).使用mysql_fetch_row()函数逐行获取结果集中的每条数据

array mysql_fetch_row(resource result)

$info = mysql_fetch_row($result);

5).使用mysql_num_rows()函数获取查询结果集中的记录数

int mysql_num_rows(resource result)

$nums = mysql_num_rows($result);

echo nums;

(4).关闭结果集

操作结束后要关闭结果集,释放系统资源

mysql_free_result($result);

如果多个网页中要频繁访问数据库,则需要建立持续的连接提高效率。可以调用mysql_pconnect();

(5).关闭MySQL服务器

每一次建立连接,修改数据库都会消耗系统资源。如果用户连接超过一定数量,就会造成系统性能下降,甚至死机。为了避免这种情况发生,完成数据库操作后,应该关闭与MySQL服务器的连接。使用函数mysql_close($link);

2.PHP数据库的扩展

PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。

不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。

mysql扩展进行数据库连接的方法:

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli扩展:

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO扩展

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';

$user = 'dbuser';

$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);

在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

intent隐式和显式_Neo4j:使隐式关系成为显式和双向关系

intent隐式和显式我最近阅读了Michal Bachman关于 Neo4j中双向关系的文章 &#xff0c;他建议对于某些关系类型&#xff0c;我们对关系的方向不那么感兴趣&#xff0c;因此可以在查询时忽略它。 他使用以下示例显示Neo Technology和GraphAware之间的合作关系&#xff1a; 两家…

python运行pyc文件_Python什么情况下会生成pyc文件?

作为Python爱好者&#xff0c;需要了解.py脚本的基本运行机制及特性&#xff1a; 在很多工作上Python的运行流程基本上取决于用户&#xff0c;因此源码不需要编译成二进制代码&#xff08;否则无法实现大部分贴近用户的特性&#xff09;&#xff0c;而直接从源码运行程序。当我…

mysql 8.0认证失败_连接mysql8.0提示认证协议失败

描述用docker容器安装软件非常方便&#xff0c;省了太多麻烦。通过docker运行mysql8.0,再用navicat客户端连接出现client does not support authentication protocol requested by server。像似认真失败&#xff0c;检查mysql.user表&#xff0c;已经配置了用户&#xff0c;为什…

mysql读写分离 存储过程_基于maxscale的读写分离部署笔记

使用maxscale搭建的读写分离架构&#xff0c;后期还可以再结合MHA做master的故障转移&#xff0c;这样业务层面上不需要做任何的改动即可。基于connect方式的不要使用。从库延迟他还会继续分发请求过去&#xff0c;暂时不适合生产使用。实验演示&#xff1a;目前的主从结构&…

python读书笔记2000_流畅的Python读书笔记

特殊方法的存在是为了Python解释器调用的&#xff0c;你自己并不需要去调用他们&#xff0c;比如说my_object.len()这种写法是没有的&#xff0c;应该使用len(my_object)。在使用len(my_object)的时候&#xff0c;如果my_object是一个自定义类的对象&#xff0c;那么Python会自…

mysql 注入 file load_Mysql注入中into outfile和load_file()总结

(1)outfile后面不能接0x开头或者char转换以后的路径&#xff0c;只能是单引号路径。这个问题在php注入中更加麻烦&#xff0c;因为会自动将单引号转义成\,那么基本没的玩了。唯一的一种可能就是你使用mysql远程连接&#xff0c;然后直接在mysql中执行命令&#xff0c;就没有查询…

vscode python单步调试_调试期间VSCode python“未验证断点”?

我正在使用VSCode调试python应用程序。在我有一个主python文件&#xff0c;从这里启动调试器。我可以在这个文件中放置断点&#xff0c;但是如果我想在主文件调用的其他文件中放置断点&#xff0c;我会将它们作为“未验证的断点”得到&#xff0c;调试器会忽略它们。在如何更改…

您自己的MicroProfile Config来源

MicroProfile配置 &#xff0c;即一部分MicroProfile规格&#xff0c;是Java Enterprise和微服务配置的标准化。 开箱即用&#xff08;即&#xff0c;对于规范定义的所有实现都是强制性的&#xff09;有3种方法来定义您的配置&#xff1a; System.getProperties() System.ge…

antd 3升级命令_是时候拥有一个你自己的命令行工具了

本篇博客主要介绍了如何使用commander, inquirer以及chalk从零开始&#xff0c;创建属于自己的命令行工具。0. 一分钟体验首先我们先花一分钟的时间&#xff0c;体验一下创建自己的命令行cli工具是什么感觉。0.1. 新建项目目录假如我们的项目名称叫hello-cli&#xff0c;使用如…

找不到要去的声明_老汉将行李袋交由他人看管 去了一趟卫生间找不到人了.........

春节走亲访友难免多喝两杯&#xff0c;但酒后乘车却容易造成财物遗失。目前正值春运返程高峰&#xff0c;从沧州女儿家返程回山东老家的蔡先生就因为中午多喝了几杯酒&#xff0c;便将装有12000元生活费的行李袋弄丢了。好在沧州火车站派出所民警最终将蔡先生的失物找回&#x…

tpcc mysql优化_tpcc_mysql性能测试

. bzr branch lp:~percona-dev/perconatools/tpcc-mysql该方法需要下载bzr工具&#xff0c;还要在网站注册并添加SSH KEY&#xff0c;非常麻烦&#xff0c;并且还没有成功(卡在SSH KEY上)。2. 直接在 http://bazaar.launchpad.net/~percona-dev/perconatools/tpcc-mysql/files …

使用混合多云每个人都应避免的3个陷阱(第3部分)

每天都在肆意宣传云&#xff0c;但每个人都应避免三个陷阱。 从云&#xff0c;混合云到混合多云&#xff0c;您被告知这是确保业务数字化未来的一种方式。 您必须做出的这些选择不会排除提高客户体验和敏捷交付这些应用程序的日常工作。 让我们开始一段旅程&#xff0c;仔细研…

java可视化压缩_web可视化技术发展(1/6)

EverCraft一直在关注Web可视化技术的发展&#xff0c;在本系列文章里&#xff0c;小编将对国外一篇感觉很不错的综述性文章进行翻译&#xff0c;供这一领域的爱好者相互学习。这篇paper的信息为&#xff1a;“Mwalongo, F., et al., State-of-the-Art Report in Web-based Visu…

suse11 rpm 安装mysql_SuSE11安装MySQL5.7.22:RPM安装方式

摘要&#xff1a;SuSE11sp3 64位操作系统、 MySQL5.7.22 rpm安装包5.7版本与先前版本安装有所区别&#xff0c;需要注意注&#xff1a;kingtry是我的主机名一、环境准备操作系统&#xff1a;SuSE版本11sp3&#xff0c;64位kingtry:~ # uname -aLinux kingtry 3.0.76-0.11-defau…

python有多少库存_库存究竟多少才算合理?

本文摘自以上刘宝红老师著作。作为库存计划人员&#xff0c;不管你的库存周转多快&#xff0c;总有人挑战你&#xff0c;说你的库存不合理。不合理&#xff0c;其实是太高的代名词。不过想想看&#xff0c;每一分钱的库存都不是凭空而来&#xff0c;都是为了特定的业务需求而设…

java中iterator_如何在Java中读取CSV文件-Iterator和Decorator的案例研究

java中iterator在本文中&#xff0c;我将讨论如何使用Apache Common CSV读取CSV&#xff08;逗号分隔值&#xff09;文件。 从这个案例研究中&#xff0c;我们将学习如何在设计模式的上下文中使用Iterator和Decorator来提高不同情况下的可重用性。 但是在开始之前&#xff0c;我…

屏幕坏点检测图片_电视屏幕出现坏点?行家会这样做!

液晶电视经常会有几个亮点或暗点&#xff0c;这些通常被称为电视坏点。作为强迫症患者&#xff0c;面对这些屏幕坏点我们应该怎么做&#xff1f;下面跟小智聊聊这个问题吧&#xff01;首先&#xff0c;坏点形成的原因首先是因为液晶屏幕由很多点组成&#xff0c;每个点由RGB三原…

python中int函数的用法浅析_Python中int()函数的用法浅析

int()是Python的一个内部函数Python系统帮助里面是这么说的>>> help(int)Help on class int in module __builtin__:class int(object)| int(x[, base]) -> integer|| Convert a string or number to an integer, if possible. A floating point| argument will be…

Java:GraalVM数据库流性能

GraalVM是JVM块的新成员。 它是一个开源虚拟机&#xff0c;能够同时运行多种编程语言&#xff0c;例如Java&#xff0c;Rust和JavaScript。 GraalVM还有一个新的内部代码优化器管道&#xff0c;在某些情况下&#xff0c;与其他JVM相比&#xff0c;它可以显着提高性能。 了解如何…

kubelet启动失败_kubelet 架构浅析

一、概要kubelet 是运行在每个节点上的主要的“节点代理”&#xff0c;每个节点都会启动 kubelet进程&#xff0c;用来处理 Master 节点下发到本节点的任务&#xff0c;按照 PodSpec 描述来管理Pod 和其中的容器&#xff08;PodSpec 是用来描述一个 pod 的 YAML 或者 JSON 对象…