簡體   English   中英

為什么兩次調用相同的函數會導致php致命錯誤?

[英]why am i getting a php fatal error for calling the same function twice?

https://plnkr.co/edit/ZNlAyky7TzT4jknpnoDJ?p=preview

這是到目前為止我編寫的所有代碼的plnkr的鏈接。 我不斷得到

致命錯誤:無法在第5行的/var/www/html/News/config/dbconnect.php中重新聲明connect_to_db()(先前在/var/www/html/News/config/dbconnect.php:5中聲明)

plunkr不會具有文件夾結構,因為我不知道如何添加文件夾,但這是我的dbconnect.php代碼

 <?php
        $pdo = null;
        function connect_to_db()
        {
            $dbengine   = 'mysql';
            $dbhost     = 'localhost';
            $dbuser     = 'root';
            $dbpassword = 'password';
            $dbname     = 'news';

            try{
                $pdo = new PDO("".$dbengine.":host=$dbhost; dbname=$dbname", $dbuser,$dbpassword);
                $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
                return $pdo;
            }
            catch (PDOException $e){
                $e->getMessage();
            }
        }

第5行沒有對db connect的調用,所以我不知道發生了什么

您正在使用

require __DIR__.'/dbconnect.php'

在Index.php和functions.php中,同時在Index.php中需要functions.php。

因此, connect_to_db()被定義了兩次。 請使用require_once來防止這種情況:

require_once __DIR__.'/dbconnect.php'

http://php.net/manual/zh/function.require-once.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM