PHP将实际函数名打印到屏幕

PHP将实际函数名打印到屏幕,php,mysql,database,Php,Mysql,Database,因此,我正在学习PHP以备面试。我从来没有用PHP编写过代码,花了大约3天的时间做练习,现在我正在尝试创建一个连接到MySQL数据库的简单表单 我创建了一个User类和db类 当我试图调用方法从db类连接到数据库时,它会将我调用的内容打印到屏幕上。(见下图) 下面是表单和php的HTML。另一个粘贴的php来自外部类文件 <!DOCTYPE html> <html> <head> <link href="//db.onlinewebfonts

因此,我正在学习PHP以备面试。我从来没有用PHP编写过代码,花了大约3天的时间做练习,现在我正在尝试创建一个连接到MySQL数据库的简单表单

我创建了一个User类和db类

当我试图调用方法从db类连接到数据库时,它会将我调用的内容打印到屏幕上。(见下图)

下面是表单和php的HTML。另一个粘贴的php来自外部类文件

<!DOCTYPE html>
<html>
<head>
     <link href="//db.onlinewebfonts.com/c/a4e256ed67403c6ad5d43937ed48a77b?family=Core+Sans+N+W01+35+Light" rel="stylesheet" type="text/css"/>

    <link rel="stylesheet" href="BattleNET_Form_Style.css" type="text/css">

    <title></title>
</head>

<body>         

<?php
    require "./Classes/Users.php";
    require "./Classes/db.php";
    session_start();
   $_SESSION['message'] = '';
   $db = new db();
    if($db->ConnectToDatabase() == true){
      $stuff = "yarp";
    }
?>


<div class="body-content">

<div class="module">

    <h1>Create an account</h1>
    <!-- Dont forget, POST means you are not sending the data in the URL. In this instance we are gonna have the form submit to itself. -->
    <form class="form" action="BattleNET_Form.php" method="post" enctype="multipart/form-data" autocomplete="off">

        <!-- Display the session messages in the div we created for said errors. -->
        <div class="alert alert-error"><?= $_SESSION['message'];?></div>

        <input type="text" placeholder="User Name" name="username" required />
        <input type="email" placeholder="Email" name="email" required />
        <input type="password" placeholder="Password" name="password" autocomplete="new-password" required />
        <input type="password" placeholder="Confirm Password" name="confirmpassword" autocomplete="new-password" required />

        <div class="avatar"><label>Select your avatar: </label><input type="file" name="avatar" accept="image/*" required /></div>

        <input type="submit" value="Register" name="register" class="btn btn-block btn-primary" />

    </form>

   </div>

</div>
</body>

创建帐户
选择您的化身:
下面是我注释掉类中代码的db.php类,只是试图降低复杂性,看看是否是db类中的某个错误导致了错误

<?php
    class db
    {
      private $host = 'localhost';
      private $username = 'webUser';
      private $password = 'totalTest';
      private $dbname = 'accounts';
      protected static $connection;
      public function ConnectToDatabase(){
        $result = false;
        return $result;
       }
   }

您在下一行缺少一个

private$dbname=”

你应该完成这一行。也放一个
在末尾。例如:


private$dbname='database_name'

您在下一行缺少一个
'

private$dbname=”

你应该完成这一行。也放一个
在末尾。例如:


private$dbname='database_name'

能否尝试删除db.php文件中的最后一个
?>
,以避免出现空格问题,并同时删除两个文件中的所有注释


不关闭
是一种很好的做法。您是否可以尝试删除db.php文件中的最后一个
?>
,以避免出现空格问题,并同时删除两个文件中的所有注释



这是一个很好的做法,你不关闭
你安装了PHP吗?PHP文件是否为
.PHP
?你真的使用了
是的,是的,是的。我最初使用的是WAMP和Sublime文本。但改用phpStorm是因为我可以用我的学生ID免费获得一年。我做了一些练习,所以我至少知道如何使用php标记,并且知道我已经安装了php。你安装了php吗?PHP文件是否为
.PHP
?你真的使用了
是的,是的,是的。我最初使用的是WAMP和Sublime文本。但是改用了phpStorm,因为我可以用我的学生ID免费获得一年。我做了一些练习,所以我至少知道如何使用php标记,并且知道我已经安装了php。对不起,它就在那里,我一定是因为什么原因在格式化这篇文章的代码时意外删除了它。你能检查一下你粘贴到这里的所有内容吗?我还在
db.php
的末尾缺少一个
}
。你能用更多的扩展代码片段吗?另外,HTML是否被
标记等所包围?对此表示抱歉。已编辑。2与问题无关的内容:您应该在标题部分添加
链接
标记,以及在html中包含php文件的位置?在“body content”分区上方的正文中,它就在那里,我一定是因为什么原因在格式化这篇文章的代码时意外删除了它。你能检查一下你粘贴到这里的所有内容吗?我还在
db.php
的末尾缺少一个
}
。你能用更多的扩展代码片段吗?另外,HTML是否被
标记等所包围?对此表示抱歉。已编辑。2与问题无关的事情:你应该在标题部分添加你的
链接
标记,你在html中的什么位置包含php文件?在“body content”部分上方的正文中抱歉,我仔细检查了一下,我的源文件中没有结尾标记,我上次编辑文章时添加了它们,但是说实话,如果它是一个独立的类文件,我不知道你不需要结束标记。谢谢。您是否尝试删除db.php.l中的注释块?我认为问题在于注释或空格,因为您没有从db.phpI输出任何东西,而只是这样做了。实际上,我删除了BattleNET_Form.php和db.php中的所有注释。我还删除了php标记和文件中行与行之间的所有空白,以查看这是否会产生效果。它没有任何效果。请参阅我更新的答案,以确保一切正常。我更改了方法ConnectToDatabase static。没什么(我犯了愚蠢的错误)。同样的问题。非常感谢你的耐心。编辑我刚刚关闭了网页,通过导航到文件重新加载,维奥拉神奇地消失了。我要说出我得到的所有评论。我相信我没有在DB呼叫上设置静电是问题所在。非常感谢您的帮助。很抱歉,我仔细检查了一下,我的源文件中没有结尾标记,我上次编辑文章时添加了它们,但说实话,我不知道如果是独立类文件,您不需要结尾标记。谢谢。您是否尝试删除db.php.l中的注释块?我认为问题在于注释或空格,因为您没有从db.phpI输出任何东西,而只是这样做了。实际上,我删除了BattleNET_Form.php和db.php中的所有注释。我还删除了php标记和文件中行与行之间的所有空白,以查看这是否会产生效果。它没有任何效果。请参阅我更新的答案,以确保一切正常。我更改了方法ConnectToDatabase static。没什么(我犯了愚蠢的错误)。同样的问题。非常感谢你的耐心。编辑我刚刚关闭了网页,通过导航到文件重新加载,维奥拉神奇地消失了。我要说出我得到的所有评论。我相信我没有在DB呼叫上设置静电是问题所在。非常感谢你的帮助。