mysqli DB连接范围?

时间:2012-07-05 15:17:51

标签: mysql mysqli

我正在尝试使用预准备语句将数据从函数中插入数据库。

从文件外部调用以下内容时效果很好:

function insert($value1, $value2)
{
$mysqli = new mysqli("localhost", "***", "***", "***");
    if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
    if ($stmt = $mysqli->prepare("INSERT INTO table (col1, col2) values (?, ?)")) {
    $stmt->bind_param('ss', $value1, $value2);
    $stmt->execute();
}
}

但是我想将连接字符串移到函数外部,这会导致范围问题。我已经读过我需要上课才能做到这一点,任何人都可以解析一个例子吗?

由于

1 个答案:

答案 0 :(得分:0)

最简单的方法是将连接线移到函数外部(进入全局范围),并在开始时将以下内容放在函数中:

global $mysqli;

请参阅:http://php.net/global

如果您愿意,也可以使用类,并且有一个类变量存储稍微更复杂的连接。同样,在PHP文档中清楚地解释了所有内容,并提供了创建类,方法和示例的示例。变量并使用它。

http://php.net/class