gpt4 book ai didi

php - 将整个 HTML 代码插入到内容表中

转载 作者:行者123 更新时间:2023-11-30 22:10:23 25 4
gpt4 key购买 nike

我正在尝试用大约 1200 行长的完整 HTML 代码更新内容数据库 (Joomla) 的介绍字段。

try {
$MyDBConn = new PDO("mysql:host=localhost;port=3306;dbname=$MyDBName", $MyDBUser, $MyDBPass);
// PDO can throw exceptions rather than Fatal errors, so let's change the error mode to exception
$MyDBConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$MySQL = "UPDATE jso_content SET introtext = '$MyTeamHTML_FR' WHERE titel like '%$MyTeamTitel' and alias like '%$MyTeamAlias'";
$MySQL = "UPDATE jso_content SET introtext = :INTRO WHERE alias = :ALIAS";
$MyStmt = $MyDBConn->prepare($MySQL);
$MyStmt->execute(array(':INTRO' => $MyTeamHTML_FR, ':ALIAS' => $MyTeamAlias));
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage()."\n";
}
$MyDBConn = null;

更新执行起来并不困难,我不知道为什么。当我通过 PHPMyAdmin 手动执行此操作时,我可以插入文本代码。

我之前在一篇文章中使用了相同的语句,这个问题得到了解决,因为在使用 exec() 而不是 execute() 时出现错误。

另一个评论是关于 SQL 注入(inject)攻击,我希望我解决了。

感谢您的支持

问候

劳伦特

最佳答案

我稍微更改了您的代码并添加了用于记录异常的代码。这将帮助您在出现错误时进行调试并解决问题。

try {
$MyDBConn = new PDO("mysql:host=localhost;port=3306;dbname=$MyDBName", $MyDBUser, $MyDBPass);
// PDO can throw exceptions rather than Fatal errors, so let's change the error mode to exception
$MyDBConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$MySQL = "UPDATE jso_content SET introtext = '$MyTeamHTML_FR' WHERE titel like '%$MyTeamTitel' and alias like '%$MyTeamAlias'";
$MySQL = "UPDATE jso_content SET introtext = :INTRO WHERE alias = :ALIAS";
$MyStmt = $MyDBConn->prepare($MySQL);
$MyStmt->execute(array(':INTRO' => $MyTeamHTML_FR, ':ALIAS' => $MyTeamAlias));
}
catch(PDOException $e) {
$h = fopen('<path_to_a_writable_dir>/error.log', 'a+');
fwrite($h, var_export($e, true));
echo "Connection failed: " . $e->getMessage()."\n";
}
$MyDBConn = null;

确保为 path_to_a_writable_dir 传递可写目录

关于php - 将整个 HTML 代码插入到内容表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270676/

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