gpt4 book ai didi

php - MySQL 请求返​​回 null Controller PHP

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

我在代码中创建了一个表订单,我的想法是为每个用户生成一个唯一的订单 ID。

在我的 Controller 上,我有一个包含 MYSQL 请求的代码,以及一个返回结果的函数(适用于其他 SQL 请求)。

所以我的想法是在MySQL请求中计算具有相同编号的订单数量,如果结果=1我必须生成一个新的订单编号。在我的订单类上,我有这个功能:

    public static function getCountOrderIfExist($bdd, $order_number) {
$requete = "SELECT * FROM Order WHERE order_number='$order_number'";
$commandes = getResultatRequete($bdd, $requete);
return !empty($commandes) ? $commandes : null;
}

我在 Controller 上调用它:

$count = Order::getCountOrderIfExist($bdd, $order_number);
while ($count >= 1) {
$order_number= $user_role."_".$user->getUtilisateurId().rand(1,99999)."_".$user->getEntreprise()->getId().rand(1,999999);
}

这是我的 getResultatRequete 的代码:

function getResultatsRequete(PDO $bdd, $requete) {
$reponse_requete = $bdd->query($requete);
if ($reponse_requete != false) {
$resultat_requete = $reponse_requete->fetchAll();
return str_replace("\\", "", $resultat_requete);
} else {
printErrorInfo($bdd, $requete, true);
return array();
}
}

当我在 Debug模式下运行代码时,SQL 请求返​​回 NULL,我不明白为什么,因为当我在终端上运行请求时,它运行良好。有什么想法吗?

最佳答案

从我们在评论中的对应关系来看,问题似乎出在 return 语句上:

return !empty($commandes) ? $commandes : null;

该语句返回所有找到的记录,如果没有找到记录则返回 null。然而, Controller 似乎期望该函数返回匹配记录的数量(如果没有找到,则返回 0)。

为了返回一个数字供您使用,您需要对返回的记录进行计数:

return count($commandes);

这应该会给你你需要的结果。

关于php - MySQL 请求返​​回 null Controller PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296763/

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