gpt4 book ai didi

php - 这里需要一些 php/mysql 的掌握 : does wordpress post exist before import

转载 作者:行者123 更新时间:2023-11-29 13:22:09 24 4
gpt4 key购买 nike

我安装了 WordPress,并在从 CSV 导入帖子之前尝试查看该帖子是否已存在

如果我使用 phpmyadmin,以下搜索 100% 正确并产生 2 个准确结果:

SELECT * FROM `wp_posts` WHERE `post_title` LIKE 'the quick brown fox'

然后,当我选择“create php”链接时,我得到:

$sql = "SELECT * FROM `wp_posts` WHERE `post_title` LIKE \'the quick brown fox\'";

然后我创建 import.php 并保存它:

<?php
include '/path/to/wp-blog-header.php';
$sql = "SELECT * FROM `wp_posts` WHERE `post_title` LIKE \'the quick brown fox\'";
$existingPost = mysql_query($sql);
if (!$existingPost) {
echo "post does not exist. Running insertFromCSV.php";
include "insertFromCSV.php"; //defined elsewhere and 100% working
}
else {
echo "you already have this in your database";
}
?>

问题是,当我运行 import.php 时,结果是“帖子不存在。运行 insertFromCSV.php”,这不是真的。帖子标题确实存在。

我哪里出错了?我的人为错误在哪里? :)

我很欣赏对此的任何想法,并提前致谢......

最佳答案

来自 PHP 站点:

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

所以第一个问题是 mysql_query 没有做你想做的事。它返回一个资源,您可以使用该资源来获取结果。在您的情况下,它不会返回资源,因此存在一些错误。

要查看查询返回的帖子数量,您需要使用 mysql_num_rows:

 $res = mysql_query(..);
$rowcount = mysql_num_rows($res);

更多:

$sql = "SELECT * FROM `wp_posts` WHERE `post_title` LIKE \'the quick brown fox\'";

应该是:

$sql = "SELECT * FROM `wp_posts` WHERE `post_title` LIKE 'the quick brown fox'";

如果您想要实际的帖子:

 $res = mysql_query(...);
$posts = mysql_fetch_array($res);

最好使用 PDO 或其他一些抽象层而不是 mysql_* 函数。它们有很多方便的功能。

关于php - 这里需要一些 php/mysql 的掌握 : does wordpress post exist before import,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669374/

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