我有两个php文件。一个名为index,其中包括(包括'')第二个,称为phpload。在phpload中我有一个函数 - addKid(我在其中包含phpload之后从index.php调用它),它在页面加载时将数据插入数据库。我希望phpload能够包含我所有的数据库功能。它的工作原理很好:
<?php
function addKid() {
include '../pass.php';
$conn = new mysqli($servername, $username, $password, $dbname);
mysqli_query($conn, "SET NAMES 'utf8'");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO kids (kid_fn, kid_ln, fk_gan_id)
VALUES ('chk', 'chk', '1')";
if ($conn->query($sql) === TRUE) {
echo "<br>";
echo "That Worked!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
//$myfoo = $_POST['sendfoo'];
//$myfoo();
?>
但是如果我将数据库连接线放在addKid函数之外(为了在不同的数据库操作(选择/创建等)上也使用它们,它就不起作用.index.php加载它的可视内容但是我得到了一个来自phpload.php的错误500。 这就是我的意思,将数据库连接方法留在函数之外:
<?php
include '../pass.php';
$conn = new mysqli($servername, $username, $password, $dbname);
mysqli_query($conn, "SET NAMES 'utf8'");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
function addKid() {
$sql = "INSERT INTO kids (kid_fn, kid_ln, fk_gan_id)
VALUES ('chk', 'chk', '1')";
if ($conn->query($sql) === TRUE) {
echo "<br>";
echo "That Worked!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
我做错了什么? 提前谢谢!