gpt4 book ai didi

php - 当查询包含 & 符号时,Joomla 1.7 DB 查询不起作用

转载 作者:行者123 更新时间:2023-11-29 09:01:28 25 4
gpt4 key购买 nike

我对此感到很困惑。到目前为止,我已经尝试了所有方法,几个小时了。这是任务:

在模块重写中,我使用以下代码:

$db =& JFactory::getDBO();
$title = "Analysen & Auswertungen Infos";
$query = "SELECT introtext FROM #__content WHERE title=\"$title\"";
$db->setQuery($query);
$result = $db->loadRow();
echo $result;

这是可行的,但由于我从变量动态获取 $title 我需要它工作:

$db =& JFactory::getDBO();
$title = "$linktext Infos";
$query = "SELECT introtext FROM #__content WHERE title=\"$title\"";
$db->setQuery($query);
$result = $db->loadRow();
echo $result;

我有 6 个变量在 foreach 循环中填充 $linktext,除了字符串包含“&”的变量外,所有变量都有效...

我在查询中尝试了 htmlentities 和 utf8_encode 以及不同类型的“和”(实际上是所有组合)...没有任何效果。

当我在 phpmyadmin 中使用以下 sql 查询时,它有效:

SELECT `introtext` FROM `x999x_content` WHERE `title`="Analysen & Auswertungen Infos"

我真的很困惑,现在很累,很生气......任何帮助将不胜感激!!!

最佳答案

有时,长时间的良好 sleep 是您能做的最好的事情!

我刚刚使用 strlen 来检查 $linktext 的长度(通过 foreach 循环从数据库获取),发现它比可见字符长。这是合乎逻辑的,因为 & 返回为 &

为了在新的数据库查询中使用此 $linktext,我所需要做的就是解码 html 实体:

$db =& JFactory::getDBO();
// this is the correct way of doing it
$title = html_entity_decode($linktext)." Infos";
$query = "SELECT introtext FROM #__content WHERE title=\"$title\"";
$db->setQuery($query);
$result = $db->loadRow();

或查询的任何其他组合(",',`,$query->select ),如其他答案中指出的

关于php - 当查询包含 & 符号时,Joomla 1.7 DB 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467858/

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