更新PDO中的数据用户不起作用

时间:2016-02-14 07:20:10

标签: php pdo

之前我使用旧MySQL进行更新,但现在我尝试根据朋友的推荐将总数改为PDO。

但是,在设置表单以更新有关用户的信息时,我受到限制。

我使用此代码:

public function runQuery($sql)
{
    $aboutMe = $this->conn->prepare($sql);

    return $aboutMe;
}

class Database
{   
    private $host = "localhost";
    private $db_name = "...";
    private $username = "...";
    private $password = "...";
    public $conn;

    public function dbConnection()
    {

        $this->conn = null;    
        try
        {
            $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
        }
        catch(PDOException $exception)
        {
            echo "Connection error: " . $exception->getMessage();
        }

        return $this->conn;
    }
}


    if(isset($_POST['update']))
    {
    $utentang = strip_tags($_POST['txt_tentang']);

        try
        {
            $aboutMe = $auth_user->runQuery("UPDATE users SET tentang=:ttg where id=:id");
            $aboutMe->execute(array(':ttg'=>$utentang, ':id'=>$id));
            $aboutMe->bindValue(':ttg', $utentang);
            $tentangSaya=$aboutMe->fetch(PDO::FETCH_ASSOC);
        }
            catch(PDOException $e)
            {
            echo $e->getMessage();
        }
};

HTML

<form method="post">
<div class="center">
<h2>Your About</h2> 

<p><textarea name="txt_tentang" id="tentang"></textarea></p>
<input id="button" type="submit" value="Simpan" name="update"/>
</div>
</form>

以上代码无法运行。 怎么了? PHP版本5.5

1 个答案:

答案 0 :(得分:1)

  

有什么问题?

坦率地说 - 几乎所有事情。从类结构到获取更新查询结果的想法。

您似乎正在使用一些非常不可靠的教程来学习PDO。让我提供一个我写的(The only proper) PDO tutorial,你可以从中轻松地学习正确的方法。

以下是您修正的更新代码:

jQuery

请注意,您不应该绑定,获取或捕获此处。