之前我使用旧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
答案 0 :(得分:1)
坦率地说 - 几乎所有事情。从类结构到获取更新查询结果的想法。有什么问题?
您似乎正在使用一些非常不可靠的教程来学习PDO。让我提供一个我写的(The only proper) PDO tutorial,你可以从中轻松地学习正确的方法。
以下是您修正的更新代码:
jQuery
请注意,您不应该绑定,获取或捕获此处。