gpt4 book ai didi

php - php中的sql不工作可能是编码?

转载 作者:行者123 更新时间:2023-11-29 23:46:07 25 4
gpt4 key购买 nike

当我执行 phpmyadmin 时,我的 SQL 代码可以工作,但是当我在 php 脚本中运行它时,它不会返回任何内容,我认为它可能是编码(是 utf8),所以我将其更改为 ansi 但没有区别。你们中有人能看看它是否有什么问题吗?(这是一个从 WordPress 帖子中删除图像的脚本)

代码:

$query = "SELECT * FROM `wp_posts` where post_content like'%<img%\>'" or die("Error in the consult.." . mysqli_error($link));//THIS IS THE QUERY THAT DOES NOT WORK
$result = $link->query($query);

/*function filter($toFilter)
{
$pattern = "/<img.*?>/";
$filtered = "";
if(preg_match($pattern,$toFilter))
{
$filtered = preg_replace($pattern,'',$toFilter);
}
return (string)$filtered;

}
*/
while($row = mysqli_fetch_array($result)) {
$id = $row['ID'];
$toFilter = $row['post_content'];
$toFilter = (string)$toFilter;

$pattern = "/<img.*?>/";
$filtered = "";
if(preg_match($pattern,$toFilter))
{
$filtered = preg_replace($pattern,'',$toFilter);
}

$filtered = (string)$filtered;

$link->query("update wp_posts set post_content = $filtered where ID = $id;");

echo 'this works';
}

最佳答案

  1. 你必须在 '%<img%\>' 中转义这个斜杠(除非你的目的是逃避>?)
  2. 图像没有结束标记 ( http://www.w3.org/TR/html401/struct/objects.html#edef-IMG ),因此您不妨查找开始标记
  3. 继续使用 utf8
  4. $pattern = "/<img.*?>/";可以简单地$pattern = "/<img.*>/";*表示 0 个或多个,而 ?意味着可选,所以它几乎是多余的

关于php - php中的sql不工作可能是编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25936647/

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