如何在PHP中创建类似bind_param()的函数?

时间:2015-07-24 09:23:44

标签: php mysql mysqli

我正在尝试为MySQL编写一个小shell,它具有我的代码所需的一些基本功能。这是出于测试目的,并且可以更多地了解PHP。

我遇到的问题如下:

bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

以上是我在互联网上找到的确切定义,但是我无法使用我的函数(语法错误或服务器说:我需要一个类型'混合')。

public function bind($types, $values)
{
    $this->statement->bind_param($types, $values);
}

以上大致是我想要实现的目标,但即使搜索网络,我也无法找到解决方案。

2 个答案:

答案 0 :(得分:1)

“mixed”类型不存在,只是说传递的参数可能是字符串,也可能是整数或任何东西。您应该使用一个参数$ types编写函数,所有其他参数都来自“func_get_args()”。 这会传递给函数的所有参数,因此您可以像数组一样使用它们:

function bind_param(string $types)
{
$args = func_get_args();
print_r($args);
}

bind_param("foo", "bar", 123, false, array("a","b"));

请注意,它也将包含第一个$ types参数。

答案 1 :(得分:-1)

{{1}}

这几乎是我的工作,我的参数不是由用户提供的,所以不应该有任何安全问题。这完全解决了我的问题。