Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Fatal error: Cannot redeclare connectDB() (previously declared in
Форумы портала PHP.SU » » Вопросы новичков » Fatal error: Cannot redeclare connectDB() (previously declared in

Страниц (1): [1]
 

1. shahin - 05 Ноября, 2016 - 07:11:42 - перейти к сообщению
здравствуйте не могу понять из-за чего выходит данная ошибка, функции ни где не повторяются
Цитата:

Fatal error: Cannot redeclare connectDB() (previously declared in /storage/emulated/0/htdocs/lib/core.php:15) in /storage/emulated/0/htdocs/lib/c ore.php on line 18

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     define('ROOT', $_SERVER['DOCUMENT_ROOT']);
  3.     define('TMP', $_SERVER['DOCUMENT_ROOT'].'/templates/');
  4.  
  5.   @ini_set('magic_quotes_gpc', 1);
  6.   @ini_set('magic_quotes_runtime', 1);
  7.   @ini_set('magic_quotes_sybase', 1);
  8.   @ini_set('register_globals', 1);
  9.   ini_set('display_errors', 1);
  10.  
  11.   error_reporting(1);  
  12.   error_reporting(E_ALL | E_STRICT);
  13.  
  14.     function connectDB(){
  15.         global $mysqli;
  16.         $mysqli = new mysqli ("localhost","root","","base");
  17.         $mysqli->query("SET name 'utf-8'");
  18.     }
  19.         function closeDB(){
  20.       global $mysqli;
  21.         $mysqli->close();
  22.     }
  23.  
  24. /*############ Pages #############*/
  25.     function GetPages($pages){
  26.         global $mysqli;
  27.         connectDB();
  28.         $sel = "SELECT `keywords`,`description`,`title`, `img`, `img_alt`, `product_title`, `product_description`, `price` FROM `pages_ru` WHERE `id` = '".$pages."' LIMIT 1";
  29.         $query = $mysqli->query($sel);
  30.         if(!$query){echo('Не удалось взять данные из БД!');}
  31.         else{
  32.             if(mysqli_num_rows($query)>0){
  33.              $res = mysqli_fetch_array($query);
  34.                           $keywords = $res['keywords'];
  35.             $description = $res['description'];
  36.             $title = $res['title'];
  37.                           $img = $res['img'];
  38.                           $img_alt = $res['img_alt'];
  39.                           $product_title = $res['product_title'];
  40.                           $product_description = $res['product_description'];
  41.             $price = $res['price'];
  42.              
  43.             }
  44.             else{
  45.              header('Location: /');
  46.             }
  47.             $data_arr = array($keywords, $description,  $title, $img, $img_alt, $title, $product_title, $product_description, $price);
  48.             return $data_arr;
  49.         }
  50.     }
  51. ?>
  52.  
2. 3d_killer - 05 Ноября, 2016 - 12:16:29 - перейти к сообщению
если интерпретатор написал Cannot redeclare connectDB() - что означает обявление второй раз той же самой функции, то так и есть, не пытайтесь спорить, смотрите внимательнее.
Я думаю что вы предоставляете не весь код, а только одного файла который инклудится в другой
3. Fart - 05 Ноября, 2016 - 12:29:21 - перейти к сообщению
в данной конструкции нет ошибок. единственное замечание, которое делает php - это если нет базы или таблицы и то, если сам будешь вызывать GetPages(1)

а у вас в 50ти строчках 3 инициализации и ни 1 вызова функции... может что то вы не дописали здесь? или ваш скрипт в оригинале имеет иной вид?
4. 3d_killer - 05 Ноября, 2016 - 12:39:31 - перейти к сообщению
Fart этот файл инклудится /storage/emulated/0/htdocs/lib/core.php, ошибка в этом файле!, а именно ре декларирование функции которая уже есть в другом файле.

 

Powered by ExBB FM 1.0 RC1