gpt4 book ai didi

php - Wordpress:500 内部服务器错误,使用 $wpdb 可能出现问题

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

我正在使用 Wordpress,并且正在执行一个查询,该查询返回了此错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

我的查询如下所示:

global $wpdb;
$session_uid = isset($_POST["session_uid"]) ? trim(strip_tags($_POST["session_uid"])) : "";
$the_data = isset($_POST["the_data"]) ? trim(strip_tags($_POST["the_data"])) : "";
$ss = "select * from ".$wpdb->prefix."vp_pms_messages inner join ".$wpdb->prefix."vp_pms_group_users on ".$wpdb->prefix."vp_pms_messages.id = ".$wpdb->prefix."vp_pms_group_users.message_id and ".$wpdb->prefix."vp_pms_messages.group_id = ".$wpdb->prefix."vp_pms_group_users.group_id where ".$wpdb->prefix."vp_pms_group_users.from_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.from_del = '0' or ".$wpdb->prefix."vp_pms_group_users.to_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.to_del = '0' group by ".$wpdb->prefix."vp_pms_messages.group_id";
$check_last_conversation = $wpdb->get_results($ss);
$response = print $check_last_conversation;

我可能遗漏或误解了某些内容,但如果我注释掉 $check_last_conversation打印类似“Hello”的内容,错误就会消失。

这样就可以了:

global $wpdb;
$session_uid = isset($_POST["session_uid"]) ? trim(strip_tags($_POST["session_uid"])) : "";
$the_data = isset($_POST["the_data"]) ? trim(strip_tags($_POST["the_data"])) : "";
//$ss = "select * from ".$wpdb->prefix."vp_pms_messages inner join ".$wpdb->prefix."vp_pms_group_users on ".$wpdb->prefix."vp_pms_messages.id = ".$wpdb->prefix."vp_pms_group_users.message_id and ".$wpdb->prefix."vp_pms_messages.group_id = ".$wpdb->prefix."vp_pms_group_users.group_id where ".$wpdb->prefix."vp_pms_group_users.from_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.from_del = '0' or ".$wpdb->prefix."vp_pms_group_users.to_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.to_del = '0' group by ".$wpdb->prefix."vp_pms_messages.group_id";
//$check_last_conversation = $wpdb->get_results($ss);
$response = print 'hello';

所以我认为我编写查询的方式存在一些问题。

$ss = "select * from ".$wpdb->prefix."vp_pms_messages inner join ".$wpdb->prefix."vp_pms_group_users on ".$wpdb->prefix."vp_pms_messages.id = ".$wpdb->prefix."vp_pms_group_users.message_id and ".$wpdb->prefix."vp_pms_messages.group_id = ".$wpdb->prefix."vp_pms_group_users.group_id where ".$wpdb->prefix."vp_pms_group_users.from_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.from_del = '0' or ".$wpdb->prefix."vp_pms_group_users.to_username = '$session_uid' and ".$wpdb->prefix."vp_pms_group_users.to_del = '0' group by ".$wpdb->prefix."vp_pms_messages.group_id";

说了这么多,我看不到错误。

  • 我的 apache_error.logmysql_error_log.err 没有报告任何内容关于。
  • 我的表现在是空的,但如果它们不打印任何内容,就会产生该错误。

你能提出一些建议吗?

编辑

我在控制台中看到此错误

enter image description here

MySQL 表为空

enter image description here

我的 WordPress 调试处于事件状态,如下所示:

enter image description here

我的 debug.log 文件(wp-content)在我的代码中没有显示任何错误。

<小时/>

我发现我的查询的同一文件中存在 fatal error :

PHP Fatal error: Call to undefined function get_bloginfo()

我可以通过服务器 php 错误日志检查它。使用 MAMP,您可以在这里找到它:

MAMP/logs/php_error.log

就我而言,Wordpress 没有在 wp-content/debug.log 中报告它。所以你知道。我得出的结论是,我的 file.php 无法识别 WordPress Hook ,并且在整个查询过程中 $wpdb 也可能发生这种情况。

最佳答案

正如 OP 提到的,他正在开发外部 WordPress 脚本,无法访问他的 WordPress 功能。为了确保您在外部文件上保留 WordPress 功能,请将以下代码放在外部脚本页面的开头。

$path = $_SERVER['DOCUMENT_ROOT']; 
include_once $path . '/wp-load.php';

上面的行将包含脚本的所有 WordPress 功能。 $path 变量存储 WordPress 安装文件夹的路径。

关于php - Wordpress:500 内部服务器错误,使用 $wpdb 可能出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38786757/

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