【发布时间】:2018-04-12 05:24:51
【问题描述】:
我想在 PHP 类中包含 MySQL 配置文件。
<?php
class User {
private $dbHost = "localhost";
private $dbUsername = "root";
private $dbPassword = "";
private $dbName = "gic";
private $userTbl = 'users';
function __construct(){
if(!isset($this->db)){
// Connect to the database
$conn = new mysqli($this->dbHost, $this->dbUsername, $this->dbPassword, $this->dbName);
if($conn->connect_error){
die("Failed to connect with MySQL: " . $conn->connect_error);
}else{
$this->db = $conn;
}
}
}
function checkUser($userData = array()){
if(!empty($userData)){
$host = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$baseurl = "http://" . $host . $path ."/";
$prevQuery = "SELECT * FROM ".$this->userTbl." WHERE oauth_provider = '".$userData['oauth_provider']."' AND oauth_uid = '".$userData['oauth_uid']."'";
$prevResult = $this->db->query($prevQuery);
<!-- rest of my code -->
}
}
}
当我运行这个文件时,它工作正常,但我想将 MySQL 数据库连接分离到另一个文件 (config.php),所以我编辑了我的代码:
<?php
class User {
include 'config.php';
$connection = new createCon();
$conn = $connection->connect();
function checkUser($userData = array()){
if(!empty($userData)){
$host = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$baseurl = "http://" . $host . $path ."/";
$prevQuery = "SELECT * FROM ".$this->userTbl." WHERE oauth_provider = '".$userData['oauth_provider']."' AND oauth_uid = '".$userData['oauth_uid']."'";
$prevResult = $conn->query($prevQuery);
}
}
}
和config.php
<?php
class createCon {
var $host = 'localhost';
var $user = 'root';
var $pass = '';
var $db = 'gic';
var $myconn;
function connect() {
$con = mysqli_connect($this->host, $this->user, $this->pass, $this->db);
if (!$con) {
die('Could not connect to database!');
} else {
$this->myconn = $con;
echo 'Connection established!';}
return $this->myconn;
}
function close() {
mysqli_close($myconn);
echo 'Connection closed!';
}
}
?>
当我运行上面的代码时,它显示一个错误:
解析错误:语法错误、意外的“包含”(T_INCLUDE)、第 4 行 C:\xampp\htdocs\gic001\User.php 中的预期函数 (T_FUNCTION) 或 const (T_CONST)
有什么想法吗?
【问题讨论】:
标签: php mysql mysqli mysql-error-1064