gpt4 book ai didi

php - MySQL 查询过滤

转载 作者:行者123 更新时间:2023-11-29 23:05:15 26 4
gpt4 key购买 nike

我正在使用 prestashop 1.6.0.9

我正在使用 getFirstMessage() 函数,如果系统或客户发送消息以显示在发票上,该函数将返回消息。然而,我在这里遇到了它的 SQL 问题。

<?php

Class Order extends OrderCore {
public function getFirstMessage()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `message`
FROM `'._DB_PREFIX_.'message`
WHERE `id_order` = '.(int)$this->id.'
ORDER BY `id_message`
');
}
}

当客户订购商品时,设置的默认消息包括“付款已接受”或“付款错误”等内容。

我希望做到这一点,这样如果消息是“付款接受”,它就不会返回消息,所以我这样做了。

<?php

Class Order extends OrderCore {
public function getFirstMessage()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `message`
FROM `'._DB_PREFIX_.'message`
WHERE (`id_order` = '.(int)$this->id.')
AND (`message` != "Payment accepted")
ORDER BY `id_message`
');
}
}

但这不起作用,因为它仍然返回“付款已接受”,所以我尝试了这个。

<?php

Class Order extends OrderCore {
public function getFirstMessage()
{
$sql_val = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `message`
FROM `'._DB_PREFIX_.'message`
WHERE (`id_order` = '.(int)$this->id.')
AND (`message` != "Payment accepted")
ORDER BY `id_message`
');

if(
$sql_val == "Payment accepted"
)
{
return "No Message";
} else {
return $sql_val;
}
}
}

那也失败了。所以现在我在这里想要一些关于如何处理这个问题的建议?

最佳答案

如果我可以建议你一个解决方案,字符串比较“总是”一个魔术,所以我会这样做:

<?php
public function getFirstMessage()
{
$sql_val = strtolower(parent::getFirstMessage());
if(!strcmp($sql_val, 'payment accepted')){ //
// do stuff
}
else {
// do other stuff
}
}

关于php - MySQL 查询过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28320274/

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