晚安。
请原谅我的英语,我来自哥斯达黎加......
我正在使用PHP POO,我遇到了问题。
错误是下一个:
致命错误:Class' mysql'在第15行的/home/casa/public_html/guaria/clases/verificaSesion.php中找不到
所有我的.php文件都在" clases"文件夹中。
conexion.php
<?php
/**
* Clase de MySQL
*/
class mysql
{
private $con;
private $res;
private $reg;
public function conecta()
{
$con = mysqli_connect("localhost","root","casa","trabajo1");
if (!$con) {
echo "Error al conectar a base de datos".mysqli_error();
}
mysqli_query($con, "SET NAMES'utf8'");
$this->con = $con;
}
public function consulta($sql)
{
$res = mysqli_query($this->con,$sql);
$this->res = $res;
return;
}
public function devuelve()
{
$reg = mysqli_fetch_assoc($this->res);
return $reg;
}
public function desconecta()
{
mysqli_close();
}
}
require_once 'acciones.php';
?>
这是我的verificaSesion.php文件:
<?php
require_once 'conexion.php';
/**
* Clase de Verificación de Sesión
*/
class verificaSesion
{
public $mysql;
public $usuario;
public $password;
public $direccion;
function __construct($direccion)
{
$this->mysql = new mysql();
$this->mysql->conecta();
$this->usuario = $_COOKIE["usuario"];
$this->password = $_COOKIE["password"];
$this->direccion = $direccion;
}
public function verifica()
{
$res = $this->mysql->consulta("select count(*) as total from usuarios where usuario='".$this->usuario."' and password='".$this->password."'");
$reg = $this->mysql->devuelve();
$tot = $reg["total"];
if ($tot == 1) {
return 1;
} else {
return 2;
}
}
public function obtiene()
{
$res = $this->mysql->consulta("select * from usuarios where usuario='".$this->usuario."'");
$reg = $this->mysql->devuelve();
return $reg;
}
public function redirecciona()
{
header("Location: ".$this->direccion);
}
public function ejecuta()
{
if ($this->verifica() == 1) {
return $this->obtiene();
} else {
$this->redirecciona();
}
}
}
?>
两个文件都在同一个文件夹中,所以我不明白这个问题...
谢谢
答案 0 :(得分:2)
原因是因为mysql是mysql连接库的保留关键字。
如何修复它:
只需使用其他名称
答案 1 :(得分:0)
好的,我终于让我的代码工作了。顺便说一句,我可以创建一个名为mysql的类,因为mysql函数不是像mysqli这样的类。 如果它无法创建一个名为mysql的类,它将显示如下错误:
致命错误:无法重新声明类mysql
但它没有..
解决方案是将verificaSesion.php中的require_once更改为:
require_once 'clases/conexion.php';
我真的不明白为什么,因为两个文件verificaSesion和conexion都在同一个文件夹中,但它有效...... 无论如何,谢谢你的帮助!