繁体   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