通过PHP引用传递数据库连接

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了通过PHP引用传递数据库连接脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是数据库连接是否应该通过引用或值传递?

对我来说,我特别质疑一个PHPMysqL的连接,但我认为它适用于所有的数据库.

我听说在PHP中将变量传递给函数或对象时,它被复制到内存中,因此立即使用两倍的内存.我也听说,只有对值进行了更改才被复制(例如从数组中添加/删除的键).

数据库连接中,我会认为在函数中正在改变,因为查询可以改变最后一个插入的id或num行的内容. (我想这是另一个问题:像连接中存储的num行和insert id这样的东西,还是将实际的调用返回数据库?)

那么,如果连接通过引用或值来传递,内存或速度是否重要PHP 4 vs 5有差异吗?

// $connection is resource
function DOSomething1(&$connection) { ... }
function DoSomething2($connection) { ... }
PHP是一种已经是引用的特殊类型.通过值或通过引用明确地传递它将不会有所不同(即它仍然是参考).您可以在PHP4下自行检查:
function get_connection() {
  $test = MysqL_connect('localhost','user','password');
  MysqL_select_db('db');
  return $test;
}

$conn1 = get_connection();
$conn2 = get_connection(); // "copied" resource under PHP4

$query = "INSERT INTO test_table (id,field) VALUES ('','test')";
MysqL_query($query,$conn1);
PRint MysqL_insert_id($conn1)."<br />"; // prints 1

MysqL_query($query,$conn2);
print MysqL_insert_id($conn2)."<br />"; // prints 2

print MysqL_insert_id($conn1); // prints 2,would print 1 if this was not a reference

脚本宝典总结

以上是脚本宝典为你收集整理的通过PHP引用传递数据库连接全部内容,希望文章能够帮你解决通过PHP引用传递数据库连接所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。