Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交时删除WordPress数据库中的行/帖子_Php_Mysql_Wordpress - Fatal编程技术网

Php 提交时删除WordPress数据库中的行/帖子

Php 提交时删除WordPress数据库中的行/帖子,php,mysql,wordpress,Php,Mysql,Wordpress,我正在尝试构建(我的第一个)一个基本的WordPress插件来存储表单数据,我需要的选项之一是能够删除旧的表单数据。我一直在尝试让一个简单的查询工作,但我一直收到一条错误消息。错误显示为“致命错误:对/home/中的非对象调用成员函数query()。。第5行“ 所以理论上,当我点击提交时,它应该会删除帖子。我走远了吗?非常感谢您的帮助 插件管理页面- <h1>Form Data</h1> <form action="next.php" method="post"

我正在尝试构建(我的第一个)一个基本的WordPress插件来存储表单数据,我需要的选项之一是能够删除旧的表单数据。我一直在尝试让一个简单的查询工作,但我一直收到一条错误消息。错误显示为“致命错误:对/home/中的非对象调用成员函数query()。。第5行“

所以理论上,当我点击提交时,它应该会删除帖子。我走远了吗?非常感谢您的帮助

插件管理页面-

<h1>Form Data</h1>


<form action="next.php" method="post">

<input type="submit">


</form>
表单数据
Next.php

<?php

global $wpdb;

$wpdb->query( $wpdb->prepare( "DELETE FROM wp_posts WHERE ID = 42" ) );

?>

如果按原样运行代码。它不会起作用,因为您没有包含来自Wordpress的任何支持php文件。因此$wpdb没有定义,因此您在它上调用的任何函数也没有定义

看起来你的Wordpress插件开发不正确。查看他们网站上的文档和APi。


<?php

// Pulls in WordPress prerequisite code
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );

// Bring global variable $wpdb into local scope
global $wpdb;

// Run the database query
$wpdb->query( $wpdb->prepare( "DELETE FROM wp_posts WHERE ID = 42" ) );

?>

您的Q中没有足够的信息(示例代码)。但是,您不需要
next.php
,表单可以在管理页面中处理。另外,检查一下这是否有效:更改这个
$wpdb->query($wpdb->prepare(“从wp_帖子中删除ID=42”)
只需
$wpdb->prepare(“从ID=42的wp_帖子中删除”)简短地解释一下这段代码的作用就好了