我正在制作一个新脚本,目前正在构建数据库类。我创建了一个检查用户IP地址的函数。当我去测试它时,我留下了一个空白页面,而不是die('It Worked');
。我的功能有什么问题?
我不喜欢发布代码的负载,但如果我发布我的类到目前为止更有意义。
class.Database.inc
<?php
require_once('config.php'); // Configuration file
/**
* MySQLi database; only one connection is allowed.
*/
class Database {
// Database credentials from config file
private $_DATABASE_SERVER = DB_SERVER;
private $_DATABASE_USER = DB_USER;
private $_DATABASE_PASS = DB_PASS;
private $_DATABASE_NAME = DB_NAME;
private $_connection;
// Store the single instance.
private static $_instance;
/**
* Get an instance of the Database.
* @return Database
*/
public static function getInstance() {
if (!self::$_instance) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Constructor.
* Database connection (server, user, password, name)
*/
public function __construct() {
$this->_connection = new mysqli($this->_DATABASE_SERVER, $this->_DATABASE_USER, $this->_DATABASE_PASS, $this->_DATABASE_NAME);
// Error handling.
if (mysqli_connect_error()) {
trigger_error('Failed to connect to MySQL: ' . mysqli_connect_error(), E_USER_ERROR);
}
}
/**
* Empty clone magic method to prevent duplication.
*/
private function __clone() {}
/**
* Get the mysqli connection.
*/
public function getConnection() {
return $this->_connection;
}
/**
* DATABASE IP CHECK FUNCTION
*/
public function checkIp($user_ip) {
$db = self::getInstance();
$mysqli = $db->getConnection();
$sql_query = "SELECT ip FROM ";
$sql_query .= "ip_address WHERE ";
$sql_query .= "ip = '$user_ip'";
$result = $mysqli->query($sql_query) or die(mysqli_error($mysqli));
if ($row = $result->fetch_assoc()) {
die('It Worked!');
}
}
}
?>
问题是与位于朝向该文件的底部,checkIp();
函数的函数。
我已经创建了包含这些内容的test.php
文件。
<?php
require_once('class.Database.inc.php');
Database->checkIp('1');
?>
我不知道我是否试图错误地访问该函数或者它是否是别的东西。值1在数据库中,以防有人想知道。
阅读错误日志。 –
单身。不要那样做,只是...不要。 PS:类不会'死',很少'trigger_error',它们会抛出异常# –
@MartinBean在error_log中没有任何内容 –