php sql查询函数,PHP – 具有SQL查询的多个函数

所以我有一个PHP文件,其中包含多个执行不同查询的函数,例如:

function getUserEmail($name)

{

$link=getLink();

$name=mysqli_real_escape_string($link, $name);

$output=mysqli_fetch_array(mysqli_query($link, "SELECT email FROM users WHERE name='$name';"));

mysqli_close($link);

return $output[0];

}

function getUserName($id)

{

$link=getLink();

$id=mysqli_real_escape_string($link, $id);

$output=mysqli_fetch_array(mysqli_query($link, "SELECT name FROM users WHERE id='$id';"));

mysqli_close($link);

return $output[0];

}

function getLink()

{

$link = mysqli_connect('localhost', 'myUser', 'myPass');

mysqli_select_db($link, 'myDB');

if (!$link) die(mysqli_error($link));

return $link;

}

(这段代码可能不起作用,这只是一个例子)

我已经完成了类似于上面的示例,但我认为由于在页面重新加载时调用了许多函数,因此多个DB链接创建和闭包不是最有效的方法(并且因为多个而开始滞后)添加到我的项目中的功能).

Ny的想法是:在PHP的标题上创建$DB链接并将其保存到$_POST var(如$_POST [‘link’]),然后通过代码使用它,并在页脚上关闭它.

这可以防止多个链接创建和关闭,我认为会提高性能.

有什么想法吗?

解决方法:

使用全局

$link=false;

function getLink()

{

global $link;

if (!$link) {

$link = mysqli_connect('localhost', 'myUser', 'myPass');

mysqli_select_db($link, 'myDB');

if (!$link) die(mysqli_error($link));

}

return $link;

}

这样,第一次调用getLink()建立连接,所有后续调用只是重新使用第一次调用建立的连接.进行此更改后,您可以保持其余代码相同.能够使用OOP我认为使用mysqli而不是mysql实际上是一个很大的好处,但是如果你不想使用OOP,那么应该为你做.

标签:php,mysql

来源: https://codeday.me/bug/20190703/1361875.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值