1 回答
TA贡献1898条经验 获得超8个赞
最后一个 lastInsertId() 是 PDO 类上的一个函数,问题是在你的类中你返回准备函数,认为最好的方法是你必须像这样在函数查询中返回 lastInsertId()
//---------------Conseld 正如我所建议的那样,我通过使用两个不同的类和函数来补充。
<?php
/*CONNECTION WITH DATABASES*/
define("SERVER", "localhost");
define("BASES", "databases");
define("USER", "userbases");
define("PASS", "******");
/*DATABASE AND FUNCTION CONNECTION CLASS*/
class QueryPDO extends PDO{
private $conn;
public function __construct(){
$this->conn = new PDO("mysql:dbname=".BASES.";host=".SERVER, USER, PASS);
}
/*INSERT, UPDATE AND DELETE FUNCTION*/
public function query($rawQuery, $params = array()){
$stmt = $this->conn->prepare($rawQuery);
$stmt->execute();
return $this->conn->lastInsertId();
}
}
/*DATABASE AND FUNCTION CONNECTION CLASS*/
class SelectPDO extends PDO{
private $conn;
public function __construct(){
$this->conn = new PDO("mysql:dbname=".BASES.";host=".SERVER, USER, PASS);
}
/*LISTAR DADOS*/
public function query($rawQuery, $params = array()){
$stmt = $this->conn->prepare($rawQuery);
$stmt->execute();
return $stmt;
}
public function select($rawQuery, $params = array()):array{
$stmt = $this->query($rawQuery, $params);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
/*INSERT - MAY ALSO USE WITH UPDATE AND DELETE*/
$query = "INSERT INTO User(
Nome,
) VALUES (
'Cledson A Stefanato',
'txt@gmail.com'
);";
$txt = new QueryPDO();
/*SESSION RECORD, LAST REGISTRATION*/
$_SESSION["RECORD"] = $txt->query($query);
echo "Recorded: ".$_SESSION["RECORD"];
/*LIST*/
$query = "SELECT * FROM Cadastro";
$txt = new SelectPDO();
$result = $txt->select($query);
//echo json_encode($result);
//echo var_dump($result);
foreach ($result as $dados){
?>
<div style="color: red; font-size: 15px">
<?php
echo $dados["Nome"]. "<br />";
echo $dados["Email"]. "<br />";
?>
</div>
<?php } ?>
- 1 回答
- 0 关注
- 147 浏览
添加回答
举报
