Mysqli还是PDO?准备好的报表.客户方准备了声明



我用PHP msqli建立了一个数据库连接和查询的网站。

现在我意识到准备好的声明是最佳实践,我正在研究如何实施它们;以PDO格式重写mysqli数据库连接代码和数据库查询,或者只使用mysqli准备的语句。

  1. 我从PHP API文档中看到,mysqli支持服务器端准备的语句,但不支持客户端准备的语句。客户端准备的语句何时可用?我理解准备好的语句的唯一目的是查询数据库,因此总是涉及服务器端语言,因此总是可以使用服务器端准备好的声明。

  2. 从下面的链接中可以看出,像下面这样准备好的语句可以用于我的mysqli连接。

http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php

if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

当我查看PDO文档时:使用的是id样式的占位符,而不是?。以下内容可以与mysqli连接一起使用吗?除了让东西更容易阅读之外,还有什么好处吗?

$stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
$stmt->execute(array('id' => $id));

我应该忘记mysqli,直接跟上PDO的进度吗?

任何指导都将不胜感激。看看如何处理这个问题。

您有几个问题。这是我的简短回答。

  • 如果您使用mysql数据库,请使用msqli
  • 如果您想支持更多的数据库(SQL server、oracle等),请使用PDO

使用任何您喜欢的,当涉及到mysql数据库时,它们都将以相同的方式为您服务。

现在,正如您所看到的,PDO有一个明显的优势,因为您可以使用相同的代码与不同的数据库进行对话。

最新更新