gpt4 book ai didi

php - 需要更改 MySQL 数据库中的值,但 SQL 语言遇到问题

转载 作者:行者123 更新时间:2023-11-29 21:49:50 25 4
gpt4 key购买 nike

我正在开发一个网站,我必须做很多手动工作(单击页面和设置模板等),所以我想为什么不将其自动化。我已经登录 PHPMyAdmin 并找到了 MySQL 数据库中我想要更改的位置。

它由两部分组成,即“wp_postmeta”和“wp_posts”。我有一个文本文件,其中包含我想要访问的所有“post_id”以及我想要将页面更改为的内容。如有必要,我可以将其转换为 arrat。

SELECT * 
FROM `wp_postmeta`
WHERE `post_id` =x
AND `meta_key` LIKE '_wp_page_template'
AND `meta_value` LIKE 'template-blank-4.php'

SELECT*
FROM `wp_posts`
WHERE `post_id` =x

我想做的是做一个循环或一系列 if/else 语句,可以访问我的帖子编号并设置其页面内容。我将分别执行这两个操作(设置内容和设置页面模板)。我该如何开始?

这是我想要实现的目标的一个非常粗略的例子;

Array =(1,2,3,4...1200)
Array2=("string1", "string2", "string3"..."string1200")
for (array[i], i<1200) {
SELECT*
from 'wp_posts'
where post_id=i
set post_content="array2[i]"
SELECT*
from 'wp_postmeta'
where post_id=i
AND `meta_key` LIKE '_wp_page_template'
SET `meta_value` TO 'template-blank-4.php'
}

对此的任何帮助将不胜感激

最佳答案

就像 Bvcm 在评论中所说的那样,您不应该通过 phpMyAdmin 执行此操作,而应使用 PHP 脚本。因为您似乎想要进行数据导入,所以我认为 mysqli extension对您来说是最简单的方法。除非您想在 WordPress 中重用此导入,否则无需使用 WP_Query,例如一个插件。如果可能的话,将您的 id 和内容放入一个数组中:

$data = array(1 => "string1", 2 => "string2", 3 => "string3", ... 1200 => "string1200")

如果您已经这样做了,您的 PHP 代码可能如下所示:

$link = mysqli_connect("localhost", "my_user", "my_password", "world");
foreach ($data as $id => $content) {
$query_posts = "UPDATE wp_post
SET post_content = '".$content."'
WHERE post_id = ".$id;
mysqli_query($link, $query_posts);
$query_meta = "UPDATE wp_postmeta
SET meta_value = 'template-blank-4.php'
WHERE post_id = ".$id."
AND meta_key = '_wp_page_template'";
mysqli_query($link, $query_meta);
}
mysqli_close($link);

关于php - 需要更改 MySQL 数据库中的值,但 SQL 语言遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755558/

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