首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果PHP的mysql扩展据说不支持像mysqli这样的事务,为什么我看到有人在网上进行交易?

根据我的了解,PHP的MySQL扩展不支持像MySQLi这样的原生事务处理。这是因为MySQLi是一个完整的MySQL客户端库,提供了更多的功能和更好的性能,同时也支持事务。而MySQL扩展则是PHP底层内置的MySQL驱动,它只提供了基本的MySQL连接和查询功能,没有提供事务支持。

既然MySQL扩展不支持事务,那么为什么还会有人在网络上进行交易呢?这可能是因为他们在使用其他工具或库来处理事务,例如使用InnoDB存储引擎或者使用其他第三方库,如Peewee、ORM等。这些工具或库可能已经实现了事务处理,因此不需要使用MySQLi或MySQL扩展来处理事务。

总之,虽然MySQL扩展不支持事务,但是其他工具或库可以实现这一功能,因此我们仍然可以在网络上进行交易。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mysql详细学习笔记

分别对应哪些业务场景,为什么会是这样选择?了解的人却并不多。阿里巴巴/蚂蚁金服阿里巴巴/蚂蚁金服主要使用两种关系数据库:OceanBase和MySQL。...每一行需要遵循数据字段(列)的规范和要求进行存入数据。 Mysql娱乐化讲解表关系 上一章我们讲到了数据库的应用范围非常广泛。如果没有了数据库,可能我们未来寸步难行。...交易流水表 每当用户的余额发生变化的时候,我们都会忠实的记录到交易流水表中。让交易可查、可追述。 这样就模拟了银行的冻结、取现、存钱等流程。 注: 密码必须使用md5等加密方式帮用户进行加密。...在正式开始学习前,我们需要开启mysqli扩展,使用phpinof()你可以看到如下展示就说明开启成功: 若没有mysqli这个扩展模块。...在《10.PHP图像处理》章节跟大家一起学习过,若没有看到mysqli扩展在windows服务器下,打开php.ini文件,将php_mysqli.dll打开即可。

4.7K40

PHP基础之与MySQL那些事

前言 这篇文章会对PHP的MySQL扩展库,MySQLI的扩展库,SQL批量执行,事务控制等等进行一些简单的讲解。...MySQL扩展 PHP中MySQL扩展,虽然因为安全的原因,在PHP5.6及往上不在支持MySQL扩展库,但是还是要学习的,通过编写案例的方式来讲解。...先提一个需求,如果我们像数据库批量添加用户,如果按照之前的办法一条一条的发送sql语句来处理,这样很占用资源,并且效率低。所以采用批量执行sql语句的方式。...关于MySQL的批量执行sql语句就说到这里。 MySQL事务控制 上面简单介绍了MySQL扩展库,MySQLI扩展库,批量执行SQL语句,接下来说一说MySQL事务控制。...案例 我们为什么需要事务控制呢?想一想,如果这是一个转账得场景,是不是需要同时控制住,必须我减金额得同时你加金额,任何一个出错都得转账失败。也就是说要保持一致。这也是要进行事务控制得必要性。

1.5K10
  • php操作mysql防止sql注入(合集)

    addslashes()用于对变量中的' " 和NULL添加斜杠,用于避免传入sql语句的参数格式错误,同时如果有人注入子查询,通过加可以将参数解释为内容,而非执行语句,避免被mysql执行。...这个函数本来是mysql的扩展,但是由于存在宽字节的问题,php基于mysql的扩展开发了此函数。...然而PHP 5.3.6及老版本,并不支持在DSN中定义charset属性(会忽略之),这时如果使用PDO的本地转义,仍然可能导致SQL注入, 如果ATTR_EMULATE_PREPARES=true(默认情况...如果把模拟器关闭,也会像低版本一样送交mysql进行防注入处理。 参考: PDO防注入原理分析以及使用PDO的注意事项 zhangxugg-163-com.itey......>'> php会向浏览器输出:这个符号只有流量器认识,源码中看到是这样,但是浏览器输出的就是一个'号。xss注入 xss也就是常说的跨域攻击,这是一种在客户端浏览器上面执行的攻击。

    4.9K20

    MySQL中不得不提的事务处理

    我用我自己的理解来描述一下吧.事务其实就是MySQL中处理数据的一种方式,主要用在数据完整性高,数据之间依赖性大的情况下的一种数据处理方式.举个例子,小张向小李的银行卡打200块钱,在小张点击了确认转账的按钮时...,系统突然崩溃了.会出现这样几中不正确的情况: 1.小张的钱打到小李的账户上,但是自己的账户上的钱没被扣. 2.小张的钱打没到小李的账户上了,但是自己账户上的钱被扣....,就不得不说说隔离性的几种级别.至于为什么会涉及到这一点,可以这样简单的理解:如果同一时刻,有两个请求在执行事务的操作,并且这两个事务是对同一条数据做操作,那么到底最终的结果是以谁的为准呢?...根据上面事务使用的条件,我们可以得知有的存储引擎是不支持事务的,例如MyISAM存储引擎就不支持.那如果在一个事务中使用了事务性的存储引擎和非事务性的存储...php // 连接MySQL $mysqli = new mysqli('127.0.0.1', 'root', '123456', 'test', 3306); // 关闭事务自动提交 $mysqli

    57600

    MySQL事务最全详解

    我用我自己的理解来描述一下吧.事务其实就是MySQL中处理数据的一种方式,主要用在数据完整性高,数据之间依赖性大的情况下的一种数据处理方式.举个例子,小张向小李的银行卡打200块钱,在小张点击了确认转账的按钮时...,系统突然崩溃了.会出现这样几中不正确的情况: 1.小张的钱打到小李的账户上,但是自己的账户上的钱没被扣. 2.小张的钱打没到小李的账户上了,但是自己账户上的钱被扣....事务的隔离级别 在谈及到MySQL的隔离性的特点,就不得不说说隔离性的几种级别.至于为什么会涉及到这一点,可以这样简单的理解:如果同一时刻,有两个请求在执行事务的操作,并且这两个事务是对同一条数据做操作...多种存储引擎时事务的处理方式 根据上面事务使用的条件,我们可以得知有的存储引擎是不支持事务的,例如MyISAM存储引擎就不支持.那如果在一个事务中使用了事务性的存储引擎和非事务性的存储,提交是可以正常进行...php // 连接MySQL $mysqli = new mysqli('127.0.0.1', 'root', '123456', 'test', 3306); // 关闭事务自动提交 $mysqli

    41120

    PHP中的MySQLi扩展学习(一)MySQLi介绍

    现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...同时,老项目如果要切换到 PHP7 版本的话,如果之前使用的是 MySQL(原始)连接的数据库,也能够快速地将 MySQL(原始)的代码很方面地替换到 MySQLi 。...而 PHP7.2.4 之前的版本中的 MySQLi 会使用 mysql_native_password 来对连接密码进行加密,这样就会导致无法连接上数据库。...方法名上全部改成 mysqli_xxx 就可以了。 面向对象式 面向对象式的就有点像 PDO 。我们要先获得一个连接句柄类,然后操作这个类就可以了。

    2.9K00

    隐私硬币概述

    隐私硬币是像比特币这样的加密货币的演变。比特币交易是匿名的,因为每个钱包的所有者都是未知的,但每笔交易都是在公共账本上公开广播和可见的。这意味着指定钱包的所有交易都是可以被查看和审计的。...因此,如果一个人的真实世界的身份与比特币钱包地址相关联,那么匿名性会受到影响。 与比特币一样,大多数隐私硬币都使用公共分类帐进行交易,但是使用各种方法来掩盖交易的发送者和接收者。...主要的隐私硬币对这个问题实施了不同的解决方案(这将在本文中进行描述),但主要的问题是给定交易的发送者和接收者之间的链接被遮蔽,这阻碍了跟踪钱包地址的活动。 为什么要使用隐私硬币? 为什么需要隐私硬币?...此外,如果他们的钱包地址与他们的真实身份联系在一起,比特币“富豪榜”(拥有最多持股的钱包清单)上的大型持有人可能会担心他们的安全。隐私币旨在解决这些问题,并以分散和可扩展的方式授予交易匿名性。...Dash依靠masternodes启用私人发送交易,但这种类型的交易不是必需的。与Monero不同,地址和馆藏可以在区块链上看到,而不通过私人发送执行的交易可能会被审计。

    1.6K50

    php怎么连接mysql5.0?

    PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。...微信图片_20191108205000.png PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。...因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性。...由于太古老,又不安全,所以已被后来的mysqli完全取代; PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性。...1.PHP与Mysql扩展(本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除),PHP原生的方式去连接数据库,是面向过程的 微信图片_20191108205042.png 2.PHP与Mysqli

    7K00

    PHP中的MySQLi扩展学习(一)MySQLi介绍

    现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...同时,老项目如果要切换到 PHP7 版本的话,如果之前使用的是 MySQL(原始)连接的数据库,也能够快速地将 MySQL(原始)的代码很方面地替换到 MySQLi 。...而 PHP7.2.4 之前的版本中的 MySQLi 会使用 mysql_native_password 来对连接密码进行加密,这样就会导致无法连接上数据库。...方法名上全部改成 mysqli_xxx 就可以了。 面向对象式 面向对象式的就有点像 PDO 。我们要先获得一个连接句柄类,然后操作这个类就可以了。

    2.9K20

    PDO 与 MySQLi 的区别与最佳实践

    引言在 PHP 中,MySQL 是最常用的关系型数据库管理系统,而与 MySQL 交互的方式有两种主要的扩展:MySQLi 和 PDO。...这两种扩展都允许 PHP 与 MySQL 数据库进行交互,但它们在设计理念、功能特性以及使用方式上有所不同。理解它们的区别以及各自的最佳实践,对于开发者选择合适的数据库操作方式至关重要。...MySQLi 是 MySQL 的官方扩展,包含了对 MySQL 5.0 以上版本的新特性(如支持多语句查询、支持事务等)的支持。...MySQLi: 只能用于 MySQL 数据库,因此如果将来更换数据库,代码需要进行较大修改。2.6 性能PDO: 由于其通用性和抽象层的设计,PDO 的性能略低于 MySQLi。...2.7 扩展功能PDO: 提供的功能相对简洁,不会包含 MySQL 独有的特性,如多语句执行、事务支持等。MySQLi: 提供了更多 MySQL 专有的功能,支持事务、批处理操作、连接持久化等。3.

    12600

    Mysql字符编码利用技巧

    刚好这段时间有人问我为什么在他的计算机上无法复现,我们来深入研究研究。 编写如下代码: <?...0x04 漏洞成因 那么,字符集转换为什么会导致%c2被忽略呢? 说一下我的想法,虽然我没有深入研究,但我觉得原因应该是,Mysql在转换字符集的时候,将不完整的字符给忽略了。...为什么会抛出错误?原因很简单,因为latin1并不支持汉字,所以utf8汉字转换成latin1时就抛出了错误。 那前两次为什么没有抛出错误?...如果你需要Mysql支持四字节的utf-8,可以使用utf8mb4编码。我将原始代码中的set names改成set names utf8mb4,再看看效果: ? 已经成功得到结果。...通过这次研究,我有几个感想: 研究东西还是需要深入,之前写那篇文章的时候并没有深入研究原理,所以心里总是很迷糊 维基百科上涵盖了很多知识,有必要的时候也可以多看看

    1.7K20

    PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)

    PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。...PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的。...因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性。...由于太古老,又不安全,所以已被后来的mysqli完全取代; PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性。...官文对于三者之间也做了列表性的比较: PHP的mysqli扩展 PDO PHP的mysql扩展 引入的PHP版本 5.0 5.0 3.0之前 PHP5.x是否包含 是 是 是 MySQL开发状态 活跃

    8.5K40

    浅谈php安全

    在放假之初,我抽时间看了《白帽子讲web安全》,吴翰清基本上把web安全中所有能够遇到的问题、解决思路归纳总结得很清晰,也是我这一次整体代码安全性的基石。...我希望能分如下几个方面来分享自己的经验 把握整站的结构,避免泄露站点敏感目录 在写代码之初,我也是像很多老源码一样,在根目录下放上index.php、register.php、login.php...并没有太多的结构的思想,像这样的代码结构,最大的问题倒不是安全性问题,而是代码扩展与移植问题。...“代码”是绝对不能让用户接触的。 在php中,对于mysql数据库有两个模块,mysql和mysqli,mysqli的意思就是mysql improve。...在B不知道A的随机字符串时,就不能越权操作了。 我在网站中也多次使用了TOKEN,不管是GET方式还是POST方式,通常就能抵御99%的CSRF估计了。

    1.9K80

    php连接mysql数据库的几种方式(mysql、mysqli、pdo)

    php与mysql的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。...一、特性及对比 PHP的MySQL扩展是设计开发允许PHP应用与MySQL数据库交互的早期扩展。mysql扩展提供了一个面向过程 的接口,并且是针对MySQL4.1.3或更早版本设计的。...因此,这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端 进行交互,但并不支持后期MySQL服务端提供的一些特性。由于太过古老,又不安全,所以已被后来的mysqli完全取代。...PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性。...官文对于三者之间也做了列表性的比较: PHP的mysqli扩展 PDO (使用PDO MySQL驱动和MySQL Native驱动) PHP的mysql扩展 引入的PHP版本 5.0 5.0 3.0之前

    6.8K80

    在PHP中使用MySQL Mysqli操作数据库 ,以及类操作方法

    对象形式部分 PHP的 mysqli 扩展提供了其先行版本的所有功能,此外,由于 MySQL 已经是一个 具有完整特性的数据库服务器 , 这为PHP 又添加了一些新特性 。...执行数据库事务 事务 (transaction)是作为整个一个单元的一组有序的数据库操作 。 如果一组中的所有操 作都成功 , 则认为事务成功 ,即使只有一个失败操作 , 事务也不成功 。...如果所有操作成功完 成 , 事务则提交 (commit) ,其修改将作用于所有其他数据库进程 。 如果一个操作失败 , 则事 务将回滚 (roll back),该事务所有操作的影响都将取消。...true:false; } /*-- 上面的方法名跟手册上 MySQL 的那些函数名是一对一的,除了“splitDSN”和“构造函数” --*/ /*-- 下面是扩展,也就是说下面的这些方法在手册上是找不到影子的...commit(){ /* 事务结束,继续默认的不支持事务 */ mysql_query("COMMIT"); @mysql_query("UNLOCK TABLES"); $this->setAutoCommit

    4.2K30

    MySQL写马详解

    但是最后也要考虑能不能成功的连接到马,像如果secure_file_priv固定为G:\,而网站是搭在D盘上,那把general_log_file修改为G盘下的文件也连接不到,除非还有文件包含漏洞等等。...一般后台查询数据库使用的语句都是用mysql_query(),所以堆叠注入在mysql上不常见。...堆叠注入的局限性在于并不是每一个环境下都可以执行,可能受到API或者数据库引擎不支持的限制,当然了权限不足也可以解释为什么攻击者无法修改数据或者调用一些程序。...堆叠注入的局限性在于并不是每一个环境下都可以执行,可能受到API或者数据库引擎不支持的限制,当然了权限不足也可以解释为什么攻击者无法修改数据或者调用一些程序。...如果都满足,写入成功了,那么就可以用shell管理工具进行Getshell了 三、MySQL写入数据select into outfile一句话木马用法 例子:直接登录进别人的数据库的时候: SELECT

    1.1K10

    大数据开发:为你详解NoSQL

    从现在来看,在大量的现代的计算系统上,每天网络上面都会产生非常庞大的数据量。其实对于这部分数据来讲的话,它有很大的一个部分都是由关系数据库管理系统来进行处理的。...I (Isolation) 独立性 所谓的独立性是指两个并发的事务之间不会进行互相的影响,如果说一个事务所要访问的数据它正在被另外一个事务修改的话,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响...举个例子,比如说现有有个交易是要从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的 D (Durability) 持久性 持久性就是指一旦事务提交后...这种企业级授权费用是低了不少; 缺点: 1.不支持sql这样的工业标准查询,因此来讲它的学习成本就比较高; 2.大多数都是初创的产品,可能还不够成熟,和传统数据库几十年的完善不可相提并论; 3.大多数的...还有NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就显得比较容易扩展。而且在无形之间,从架构的层面上来讲它带来了可扩展的能力。

    33230

    WAMP环境配置

    3、安装 PHP 扩展。 安装PHP的扩展只需要将 ;extension=*.dll 前的注释去掉,重启服务即可。...我打开了 curl、gd2、mbstring、mcrypt、mysql、mysqli、pdo、pdo_mysql、pdo_oci、pdo_oci8、pdo_sqlite、soap、xmlrpc。...需要注意的是,有些扩展需要将特定的 dll 拷贝到系统目录下才能正常使用。...4、安装 Mysql。 Mysql 的安装也比较简单,从官方网站下载了安装文件后,双击一路运行到底。结束的时候可以选择是否到 Mysql 网站注册 和 马上进行服务器的配置。...下载完成后 一步一步安装就可以了,期间会提示选择正确的 PHP 和 Apache 的位置。 经过以上的步骤,一个 WAMP 的开发环境就配置好了,基本上能够满足开发一般应用的需要。

    2.2K40

    PHP新手最佳实践

    不要使用mysql_*系列函数,查询时尽量对sql语句进行预处理 PHP官方目前已经将此系列函数标记为弃用状态,添加PHP对mysql的支持,编译时使用下面的参数 --enable-mysqlnd...--with-pdo-mysql --with-mysqli --with-mysql=mysqlnd mysql_*系列函数不支持 预处理语句,事务,存储过程,异步查询,多条语句查询,...这也是强烈建议使用pdo_mysql或者mysqli的原因....pdo是PHP的数据数据抽象层,为了扩展升级考虑,最好使用pdo_mysql 使用pdo_mysql扩展,查询前进行sql语句预处理,不仅能很有效的避免sql注入,同时一个查询如果被执行多次,那么只需要给预处理的...文中如有纰漏,错误之处,请指出 对于后续中列出的其他建议,如果有人觉得需要详细展开,请留言。

    83420
    领券