Php PDO数据库未向数据库添加项
我刚接到一份学校作业,要练习PDO。问题是我似乎让它连接到数据库,但无法让它在数据库中插入或计数行。这可能是一个重复的问题。我试图寻找答案,但可能只是问了错误的问题Php PDO数据库未向数据库添加项,php,mysql,pdo,Php,Mysql,Pdo,我刚接到一份学校作业,要练习PDO。问题是我似乎让它连接到数据库,但无法让它在数据库中插入或计数行。这可能是一个重复的问题。我试图寻找答案,但可能只是问了错误的问题 <?php include("db.class.php"); class uppClass extends Database { function __construct() { parent::__construct(); } public function countUse
<?php
include("db.class.php");
class uppClass extends Database {
function __construct() {
parent::__construct();
}
public function countUsers() {
$stmt = $this->connection->prepare("SELECT * FROM users LIMIT 500");
$stmt->execute();
return count( $stmt->fetchAll(PDO::FETCH_ASSOC) );
}
}
?>
下一个类处理pdo连接
<?php
include("db-details.php");
class Database {
public $connection;
/**
* Opens a connection to the DB
*/
public function __construct() {
try {
$this->connection = new PDO("mysql:host=$this->DATABASE_ADDRESS;dbname=$this->DATABASE_NAME;", DATABASE_USERNAME, DATABASE_PASSWORD);
$this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$this->connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
}
?>
要使用PDO计算行数,您可以使用此选项
public function countUsers() {
$stmt = $this->connection->prepare("SELECT * FROM users LIMIT 500");
$stmt->execute();
$stmt->fetchAll(PDO::FETCH_ASSOC);
return $stmt->rowCount();
}
这些课程是作业的一部分吗?你可以不用它们,只用PDO吗?我们确实让那些特定的班级做家庭作业,但如果没有其他事情,我想可以用其他方式来做,只是为了得到一些东西。我建议先用原始PDO,因为很难同时学习两件事。好的,谢谢你的快速回复。我会这样做。你能用原始PDO做一个插入吗?你需要帮助吗?在计数时,不应选择要计数的行。改为执行
选择count(*)
查询。我写了一篇文章,你会发现它很有用。