Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “插入到脚本中”对用户而言无法正常工作_Php - Fatal编程技术网

Php “插入到脚本中”对用户而言无法正常工作

Php “插入到脚本中”对用户而言无法正常工作,php,Php,我目前正在开发一个网站,出于任何原因,我创建用户的脚本已经决定不想添加用户。 我对PHP编码相当陌生,所以我还不太擅长对其进行故障排除 这第一段代码是我认为导致问题的脚本,但是我也不确定,因此我还将提供db.php代码 <?php include('classes/db.php'); if (isset($_POST['createaccount'])) { $username = $_POST['username']; $password = $_POS

我目前正在开发一个网站,出于任何原因,我创建用户的脚本已经决定不想添加用户。 我对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;

     }
 }
?>


这里使用的大多数代码都是通过教程组合在一起的,因此这可能是造成错误的原因。

创建一个新文件,例如form.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>

是否包含文件“classes/db.php”?如果不尝试将路径更改为绝对路径,而不是相对路径,则假设您的文件“db.php”存在于C:/Users/A/Desktop中,那么您的include语句应该是


包括('C:/Users/A/Desktop/db.php')

避免在问题中使用登录凭据您应该有一个在其操作中引用php页面的表单。e、 g.page.php:page2.php:您的db.php代码在insert查询中忘记了关闭括号。将查询更改为“插入用户值(空,:用户名,:密码,:电子邮件)”