0

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

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

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();
}
}

但是我想将连接字符串移到函数之外,这会导致范围问题。我已经读到我需要一门课来做到这一点,有人可以解释一个例子吗?

谢谢

4

1 回答 1

0

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

global $mysqli;

见: http: //php.net/global

如果您愿意,您也可以使用一个类,并让一个类变量存储稍微复杂的连接。同样,PHP 文档中的所有内容都通过创建类、方法和变量以及使用它的示例进行了清楚的解释。

http://php.net/class

于 2012-07-05T15:35:22.957 回答