PHP将实际的功能名称打印到屏幕

时间:2018-03-19 15:56:48

标签: php mysql database

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

我创建了一个User Class和db Class。

当我尝试从我的db类调用该方法连接到数据库时,它会打印出我调用到屏幕的内容。 (见下图) enter image description here

下面是表单和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;
       }
   }

感谢任何和所有帮助。

*编辑*

我确保CLI解释器和我在WAMP服务器上运行的PHP版本正确无误。见下图。 enter image description here

2 个答案:

答案 0 :(得分:1)

您在以下行找不到'

private $dbname = '

你应该完成这一行。最后还加;。例如:

private $dbname = 'database_name';

答案 1 :(得分:1)

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

如果您不打算在最后编写任何HTML,则不要关闭文件末尾的<?php,这是一种很好的做法。

另请注意,您没有__constructor方法,仍然使用new db()调用db类。

您必须更改静态调用的方法或者为db类创建__constructor方法