我下面有 2 个 mysql 查询,我尝试通过 php 执行它们,但出现语法错误。当我通过 phpmyadmin 执行它们时,它就像一个魅力,显示正确的结果,你能帮我吗?
DELETE a FROM wp_posts AS a INNER JOIN ( SELECT post_content, MIN( id ) AS min_id FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY post_content HAVING COUNT( * ) > 1 ) AS b ON b.post_content = a.post_content AND b.min_id <> a.id AND a.post_type = 'post' AND a.post_status = 'publish';
DELETE FROM wp_posts
WHERE post_content NOT LIKE '%<img src=%'AND ID not in (select post_id as p from wp_postmeta where meta_key like '_wp_attached_file')
OR `post_title` like '%.png%'
OR post_date < DATE_SUB(NOW(), INTERVAL 15 day);
最佳答案
您需要使用mysqli_multi_query
如果您想在查询中使用多个语句。 Multiple Statements
中有更多信息页。
请注意,“不支持将多个语句与准备好的语句一起使用。”因此,仅出于这个原因,如果使用客户端提供的参数(例如请求变量),最好避免上述函数并坚持为每个语句使用单个准备好的查询。
关于php - 查询通过 phpmyadmin 执行,但不通过 php 脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22796173/