我在类里面使用 pdo php
<?php
class User
{
private $db;
public function __construct($host, $user, $pass, $db)
{
try
{
$this->db = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
}
catch (Exception $e)
{
die('Error : ' . $e->getMessage());
}
}
public function modUser($uid, $email)
{
$query = $this->db->exec("UPDATE Users SET Email =:email WHERE Id_User =:uid");
$query->bindValue(':email', $email, PDO::PARAM_STR);
}
}
?>
当我这样使用用户类时:
$user = new User('localhost','tester','0000','Agency);
用的不错,就是用配置文件连接数据库写的时候有问题
$user = new User($host, $user, $pass, $db);
我得到一个错误:
<b>Warning</b>: PDO::__construct() expects parameter 2 to be string, object given in <b>C:\wamp\www\new_template-latest\new_template\classes\class.User.php</b> on line <b>13</b><br />
<br />
<b>Fatal error</b>: Call to a member function exec() on a non-object in <b>C:\wamp\www\new_template-latest\new_template\classes\class.User.php</b> on line <b>140</b><br />
最佳答案
您正在尝试将 new User
对象分配给 PDO 参数。您需要为您的 User
对象选择一个新的变量名称,或者为您的 $user
数据库配置变量选择一个新名称。
关于php - 在我的类里面使用 pdo php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626443/