我决定创建一个注册网页并将其与db连接,但我遇到了一个问题:
错误:sqlstate[hy000][1049]未知数据库“site”致命错误:未捕获错误:在c:\xampp\htdocs\sm\application\lib\pdomain.class中对null上的成员函数query()调用。php:20 stack 跟踪:#0 c:\xampp\htdocs\sm\application\lib\user.class.php(11):pdomain->selectpdo('注册','*','where login='ad....)#1 c:\xampp\htdocs\sm\home.php(4):用户->getuserwherelogin('admin')#2{main}在第20行的c:\xampp\htdocs\sm\application\lib\pdomain.class.php中抛出
我已经为此工作了一段时间,任何帮助都将不胜感激。
我有一个主要问题:
class PDOMain
{
private $MPDO;
function __construct($dbname = "site", $host ="localhost", $user ="root", $password ="")
{
try {
$this->MPDO = new PDO ("mysql:dbname={$dbname};host={$host}", "{$user}", "{$password}");
return $this->MPDO;
} catch (PDOException $e) {
echo "ERROR: " . $e->getMessage();
}
}
function selectPDO($db, $cols, $where = "", $order = "", $limit = "")
{
$sql = "SELECT{$cols} FROM `{$db}` {$where} {$order} {$limit}";
$rs = $this->MPDO->query($sql);
$rs->execute();
if ($where != "") {
$row = $rs->fetchAll(PDO::FETCH_ASSOC);
return $row;
} else {
$row = $rs->fetchAll(PDO::FETCH_ASSOC);
return $row;
}
}
function insertPDO($db,$cols="",$values="")
{
if ($cols=="") echo "ERROR! </<br>";
$sql="INSERT INTO `{$db}`({$cols}) VALUES ({$values})";
$this->MPDO->query($sql);
}
function updatePDO($db,$what,$val,$where)
{
$sql="UPDATE `{$db}` SET {$what}='{$val}' {$where}";
$this->MPDO->query($sql);
}
function deletePDO($db,$where){
$sql= "DELETE FROM `{$db}` {$where}";
return $this->MPDO->query($sql);
}
}
我有一个php类用户:
require_once("PDOMain.class.php");
class User extends PDOMain{
function __construct($table)
{
parent::__construct();
$this->table=$table;
}
function getUserWhereLogin($login){
$user=$this->selectPDO($this->table,"*","WHERE login='$login'");
if(count($user)>0) return $user;
else return 0;
}
}
我在home.php中使用它:
require_once("application/lib/User.class.php");
$userObject = new User("sign_up");
$user=$userObject->getUserWhereLogin("admin");
print_r($user);
下面是一个屏幕截图,显示了我的表的模式
暂无答案!
目前还没有任何答案,快来回答吧!