Неустранимая ошибка: невозможно повторно объявить соединение класса

когда я пытаюсь создать класс для подключения к базе данных я получил эту ошибку

Fatal error: Cannot redeclare class connect in C:\xampp\htdocs\project\include\config.php on line 11

я создал класс с функцией, связанной с mysqli vars, но я не получил хорошего результата без ошибок.

config.php

<?php
if (!isset($_SESSION))
{
session_id("hassan");
session_start();

}
class connect {
var  $dbhost = "localhost";
var $dbuser = "root";
var $dbpass = "";
var $dbname = "projects";
var $dbport=3306;
var $mycon;
//error_reporting(0);
function contact(){
$con1=mysqli_connect($this->dbhost,$this->dbuser,$this->dbpass,$this->dbname,$this->dbport);
if (!$con1)
include_once "error.html";
mysqli_query($con1,"set names 'utf8'");

if ($con1){
include_once dirname(__DIR__) ."/template/title.php";
$this->mycon = $con;
}
return $this->mycon;

}
}
$con= new connect();
$con->contact();
?>
<?php 

?>

есть идея исправить это? я пробовал много способов ..

нам нужно знать, что такое строка 11 и для какого файла. То, что вы опубликовали, не поддерживает вопрос / ошибку.

Funk Forty Niner 29.07.2018 16:14

в строке 11 class connect {

marm saeed 29.07.2018 16:15

в строке 11 class connect {@FunkFortyNiner

marm saeed 29.07.2018 16:21

Вы включаете файл дважды. Не надо.

Álvaro González 29.07.2018 16:30

@ ÁlvaroGonzález, он все еще выдает ошибку

marm saeed 29.07.2018 16:37

Этот код устарел. var не следует использовать для объявления свойств класса, и он устарел как минимум десять лет. Также сделайте отступ в коде. Это беспорядок для чтения, который затрудняет отладку. Кроме того, не забудьте объявить свои методы как частные, защищенные или общедоступные. Будьте ясны, как этот xcode должен работать.

John Conde 29.07.2018 17:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
6
84
1

Ответы 1

Вы включаете файл дважды, что является ошибкой. Немедленное исправление заключается в следующем:

if (class_exists("connect")) {
    //your code here
}

поэтому ваш класс будет объявлен один раз, и при следующем включении файла он будет пропущен. Но после того, как вы сделаете это исправление, вам нужно будет проверить, как, где и почему этот файл включен или необходим. Убедитесь, что вы включаете или требуете его только один раз. include_once и require_once - ваши друзья здесь. Когда вы исправили включения, вы можете избежать использования if, которое я дал в вашем коде.

Другие вопросы по теме