【发布时间】:2015-05-26 04:59:45
【问题描述】:
我在一个名为 sample.php 的 PHP 文件中跟踪了一个函数的代码:
function deleteValue($value) {
$servername = "localhost";
$username = "root";
$password = "jumbo";
$dbname = "demo";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "DELETE FROM user WHERE value = '$value'";
if ($conn->query($sql) === TRUE) {
$conn->close();
return true;
} else {
$conn->close();
return false;
}
}
其实在这个文件(sample.php)里面有太多这样的函数,重复下面的数据库连接代码:
$servername = "localhost";
$username = "root";
$password = "jumbo";
$dbname = "demo";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
然后,我在同一个文件夹中创建了一个名为db.php 的文件,并将上面的代码添加到其中。在文件'sample.php'的开头使用require_once('db.php');,我将文件包含在上面的代码中。最后代码出现如下:
require_once('db.php');
function deleteValue($value) {
$sql = "DELETE FROM user WHERE value = '$value'";
if ($conn->query($sql) === TRUE) {
$conn->close();
return true;
} else {
$conn->close();
return false;
}
}
现在它给了我 500 内部服务器错误。
即使我尝试通过将 db.php 中的整个代码粘贴到文件 sample.php 的开头而不是包含该文件,如下所示,但我仍然收到 500 Internal Server Error。
$servername = "localhost";
$username = "root";
$password = "jumbo";
$dbname = "demo";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
function deleteValue($value) {
$sql = "DELETE FROM user WHERE value = '$value'";
if ($conn->query($sql) === TRUE) {
$conn->close();
return true;
} else {
$conn->close();
return false;
}
}
有人可以纠正我在代码中犯的错误吗?
提前致谢。
【问题讨论】:
-
错误是什么?你的错误日志是怎么说的?
-
您可以在没有此代码的情况下访问您的页面吗?内部服务器错误在我看来更像是服务器配置错误——由你的 htaccess 文件或 apache 的 httpd.conf 文件引起——而不是你的 PHP 脚本。
标签: php mysql database-connection require-once