- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 mysql_pconnect 在我的 PHP 站点上建立所有数据库连接,理论上它更有效(值得商榷,我知道)。
我使用 mysql_insert_id 从最近的 INSERT 中获取 ID,我突然想到,考虑到 Web 请求的多线程特性,我不能保证另一个使用相同 pconnection 的 PHP 脚本已经进行了 DB INSERT在调用 mysql_insert_id 之前。
这是一件大事,因为我认为没有其他方法可以保证 INSERT 和 ID 检索的原子性,因为 INSERT 查询不返回 ID(或者我不知道如何获取它)。
所以如果我想要线程安全的插入和 ID 检索,基本上我永远不能使用 mysql_pconnect?
最佳答案
mysql_insert_id()
返回当前连接 session 上下文中的最后一个 ID。从而避免竞争条件问题。在 mysql_insert_id()
的 php.net 手册中有很多关于此的注释/评论。
更多信息:
这应该很容易测试:
<?php
// connection already established
mysql_query("INSERT INTO table VALUES('foo', 'bar')");
sleep(15);
echo mysql_insert_id();
然后看看你是否可以通过在 sleep 期间用请求猛击它来愚弄它......并检查 insert_id 结果。
关于php - mysql_insert_id 和 mysql_pconnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7605237/
我们知道,当脚本执行结束时,与 SQL 服务器的连接不会关闭。相反,该链接将保持打开状态以供将来使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的链接)。 那么 m
我创建了一个 php 连接文件作为 explorecalirfornia.php 内容,如下所示。 #FileName="Connection_php_mysql.htm" # Type="MYSQL
我阅读了 PHP 函数 mysql_pconnect 的规范。“mysql_pconnect是即使脚本练习完成,与SQL服务器的连接也没有关闭”。 除非连接被关闭,否则连接会一直保持到mysql重新启
我从未只使用过持久性 mysql_pconnect 函数 mysql_connect() 但现在我想将数据库放在它自己的服务器上但想知道它是否可以安全用于生产或我应该注意的任何问题/备份? 澄清当神秘
我在 php 执行期间遇到错误,我认为这是由于较新的 php 5.5 引起的。 Deprecated: mysql_pconnect(): The mysql extension is depreca
我有这个代码: $hostname = "localhost"; $database = "listings"; $username = "joe"; $password = "1234"; $my_
我一直在使用 mysql_pconnect 在我的 PHP 站点上建立所有数据库连接,理论上它更有效(值得商榷,我知道)。 我使用 mysql_insert_id 从最近的 INSERT 中获取 ID
我是一个 PHP 新手,正在编写一些脚本来显示数据库中的一些新闻文章,并且想了解一些事情。 要打开与 MySQL 数据库的连接,mysql_connect 或 mysql_pconnect 哪个更好?
已结束。 这个问题是 not reproducible or was caused by typos .它目前不接受答案。 此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-to
我是一个 PHP 新手,正在编写一些脚本来显示数据库中的一些新闻文章,并且想了解一些事情。 要打开与 MySQL 数据库的连接,mysql_connect 或 mysql_pconnect 哪个更好?
抱歉,如果这看起来是一个基本问题:但是使用 mysql_pconnect 与 odbc_connect 连接到 MySQL 数据库之间有什么区别? odbc_connect 的设计是否可以移植到其他数
我有一个游戏,分为 3 个世界。今天我在我的游戏中更新了世界 3。 更新 mysql_pconnect 后随机更改选定的数据库,尽管我已经设置了数据库“s3”。在我的网站上几秒钟后,我看到了来自数据库
我最近向我的网站添加了一个 SSL 证书,当它激活后,我在尝试查看登录墙后面的页面时遇到以下错误: Warning: mysql_pconnect(): Access denied for user
简短描述: 我们在不同的区域有多个用于 mysql 的独立数据库实例 (rdbms) 和每个 RESTAPI 服务器。每个 RESTAPI 服务器都需要连接其他数据库实例来获取数据。 我们现在也无法继
我构建了一个应用程序(MySQL/PHP),它(及时)可能会使用到远程(并且可能很慢)MySQL 服务器的连接。该应用程序使用 AJAX 耳语,频繁打开数据库连接。我做了一些客户端优化,但从未有足够的
我已将我的 codeigniter 版本从 2.2.4 逐步更新到 3.0.6,但出现错误: An uncaught Exception was encountered Type: Error Mes
这个问题已经有答案了: Deprecated: mysql_pconnect(): (4 个回答) 已关闭 6 年前。 抱歉,我对 PHP 不太了解,我需要一些帮助,将网站从一台服务器迁移到另一台服务
写了这么多文字只是想提前道歉。这是问题所在:我使用持久连接连接到数据库,wait_timeout 为 60 秒,并将 session 数据存储在 MySQL 表中。我遇到的问题是 session 似乎
这个问题已经有答案了: Fatal error: Uncaught Error: Call to undefined function mysql_connect() (9 个回答) 上个月关闭。 F
我在 Codeigniter 中遇到了这些错误。 Fatal error: Uncaught Error: Call to undefined function mysql_pconnect() in
我是一名优秀的程序员,十分优秀!