PHP: 无法在同一页面中多次 运行 相同的 MySQL 查询

PHP: Unable to run same MySQL queries multiple times in same page

我有一个简单的 MySQL 查询,旨在从 MySQL 数据库中获取单个值:

$cr = 'copyright';
$stmt = $con->prepare("SELECT ${_COOKIE['lang']} FROM lang WHERE page = ?");
$stmt->bind_param("s", $cr);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$copyright = $result;

我有另一个简单的 MySQL 查询,用于从同一数据库中的相同 table 获取不同的单个值:

$cb = 'contactblurb';
$stmt = $con->prepare("SELECT ${_COOKIE['lang']} FROM lang WHERE page = ?");
$stmt->bind_param("s", $cb);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$blurb = $result;

它们彼此独立工作并检索所需的数据。然而,当一个接一个地放置时,像这样...

$cr = 'copyright';
$stmt = $con->prepare("SELECT ${_COOKIE['lang']} FROM lang WHERE page = ?");
$stmt->bind_param("s", $cr);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$copyright = $result;

$cb = 'contactblurb';
$stmt = $con->prepare("SELECT ${_COOKIE['lang']} FROM lang WHERE page = ?");
$stmt->bind_param("s", $cb);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$blurb = $result;

第二个查询的第三行出现以下错误。

Uncaught Error: Call to a member function bind_param() on bool...

我错过了什么?我没有关闭两个查询之间的任何连接?有什么我想念的吗?

必须单独调用这些语句,因为一个是调用将在整个站点范围内使用的数据,另一个是仅针对特定页面。

Uncaught Error: Call to a member function bind_param() on bool...

听起来像 $con->prepare returns false。

https://www.php.net/manual/en/pdo.prepare.php

确保 $con->准备 returns 一个 PDOStatement 对象,它会起作用。

我试图在一页中准备两次相同的语句。我所要做的就是删除第二个准备语句,使代码如下:

// First statement
$cr = 'copyright';
$stmt = $con->prepare("SELECT ${_COOKIE['lang']} FROM lang WHERE page = ?");
$stmt->bind_param("s", $cr);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$copyright = $result;

// Second statement
$cb = 'contactblurb';
$stmt->bind_param("s", $cb);
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$blurb = $result;

感谢@Blackbam 的提示!