mysqli函数不会插入值

时间:2016-07-10 11:07:14

标签: php mysql mysqli

我试图以面向对象的方式通过mysqli连接数据库。我有一些错误,并解决了它们,但现在我可以解决这个问题。我在这里得到了我的代码,并且所有名称(数据库名称,用户,密码,主机和表名称)都是正确的(实际上,复制和粘贴),但查询仍返回0.

<?php


class DbConnection
{
    public $link;

    public function __construct()
    {
        $this->link = new mysqli("localhost","root","","todo");
        if (mysqli_connect_errno()) {
            printf("Connect failed: %s\n", mysqli_connect_error());
            exit();
        }
    }

    function RegisterUsers($username, $password, $ip, $name, $email)
    {
        $stmt = $this->link->prepare("INSERT INTO users (Username, `Password`, ip, Name, Email) VALUES (?,?,?,?)");
        $stmt->bind_param("sssss", $username, $password, $ip, $name, $email);
        $stmt->execute();

        $stmt->store_result();
        $count = $stmt->num_rows;
        return $count;
    }

}

$dbConn = new DbConnection();
echo $dbConn->RegisterUsers("a","a","a","a", "a");


?>

编辑:使用此代码,我得到了

  

在布尔值

上调用成员函数bind_param()

错误。

This is my database

1 个答案:

答案 0 :(得分:1)

mysql中的

Passwordnamekeywords。如果你将它用作列名

,你必须把它放在反引号中以逃避它
    $stmt = $this->link->prepare("INSERT INTO users (Username, `Password`, ip, `Name`) VALUES (?,?,?,?)");