插入脚本无法为用户正常工作

时间:2018-01-04 07:21:26

标签: php

我目前正在开发一个网站,无论出于何种原因,我创建用户的脚本已决定不想添加用户。 我对PHP编码很新,所以我还不太擅长排除它。

这第一段代码是我认为导致问题的脚本,但是我不确定,所以我也将提供db.php代码

<?php
include('classes/db.php');

if (isset($_POST['createaccount'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];
        $email = $_POST['email'];


        db::query('INSERT INTO users VALUES (null,:username, :password, :email', array(':username'=>$username, ':password'=>$password, ':email'=>$email));
        echo "Success";

 }
?>

第二位代码是包含的内容。

<?php 
 class DB{

    public static function connect() {
        $servername = "localhost";
        $username = "username";
        $password = "pass";
        $database = "database";

        try {
            $pdo = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
            // set the PDO error mode to exception
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            echo "Connected successfully"; 
            } catch(PDOException $e) {    
            echo "Connection failed: " . $e->getMessage();
            }
         if (isset($_POST['createaccount'])) {
                $username = $_POST['username'];
                $password = $_POST['password'];
                $email = $_POST['email'];
         return $pdo;
     }
    }
     public static function query($query, $params) {
        $statement = self::connect()->prepare($query);
        $statement->execute();
        $data = $statement->fetchAll();
        return $data;

     }
 }
?>

这里使用的大多数代码都是使用教程抛出的,所以这可能是造成错误的原因。

2 个答案:

答案 0 :(得分:0)

是文件&#34; classes / db.php&#34;如果没有尝试将路径更改为绝对路径而不是相对路径,请说明您的文件&#34; db.php&#34;出现在C:/ Users / A / Desktop中,那么你的include语句应该是

包括(&#39; C:/Users/A/Desktop/db.php');

答案 1 :(得分:-1)

创建一个新文件egform.php

<form action='db.php' method='post'>
<input type='text' name='username'/>
<input type='email' name='email'/>
<input type='password' name='password'/>
<input type='submit' name='createaccount' value='createaccount'/>
</form>