gpt4 book ai didi

php - 具有 COUNT(URL) 查询的多个变量

转载 作者:行者123 更新时间:2023-11-29 02:50:50 24 4
gpt4 key购买 nike

下面的查询在仅包含一个变量($MyURL)时有效。但是当我添加 $MySection 时,我开始收到此错误消息:

PDOStatement::bindParam() 期望参数 3 很长,字符串在...

我知道如何在获取数组的查询中添加多个值,但这种查询让我感到困惑。我做错了什么?

$sql= "SELECT COUNT(URL) AS num FROM pox_topics 
WHERE URL = :MyURL AND Site = 'PX' AND Section = ':MySection' AND Live != 0";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':MyURL',$MyURL,':MySection',$MySection,PDO::PARAM_STR);
$stmt->execute();
$Total = $stmt->fetch();

编辑:

我已经尝试在 $MyURL、$MySection 之后使用 PDO::PARAM_STR 进行以下查询,并跟随它们...

$sql= "SELECT COUNT(URL) AS num FROM pox_topics 
WHERE URL = :MyURL AND Site = 'PX' AND Section = :MySection AND Live != 0";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':MyURL',$MyURL,PDO::PARAM_STR);
$stmt->bindParam(':MySection',$MySection);
$stmt->execute();
$Total = $stmt->fetch();

但我收到此错误消息:“参数编号无效:绑定(bind)变量的数量与标记的数量不匹配”

最佳答案

您在 AND Section = ':MySection' 中的第二个绑定(bind) ':MySection' 周围有引号,这些需要删除。

那么您将在同一个 bindParam 中使用您的两个绑定(bind)。他们需要在单独的声明中。

$sql= "SELECT COUNT(URL) AS num FROM pox_topics 
WHERE URL = :MyURL AND Site = 'PX' AND Section = :MySection AND Live != 0";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':MyURL',$MyURL);
$stmt->bindParam(':MySection',$MySection,PDO::PARAM_STR);
$stmt->execute();
$Total = $stmt->fetch();

旁注:不确定要将 PDO::PARAM_STR 用于哪一个。分别调整。

还要确保这些变量具有值。如果它们失败了,错误报告会给您一些信息。

手册中的示例 http://php.net/manual/en/pdostatement.bindparam.php

$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

添加error reporting到您的文件的顶部,这将有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Then the rest of your code

旁注:显示错误只应在试运行中进行,绝不能在生产中进行。

同样使用 PDO 的错误处理:

关于php - 具有 COUNT(URL) 查询的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com