php - 为什么我在这里得到 "Query was empty"?

标签 php mysql wordpress

相关代码:

add_action( 'wp_ajax_proj_update', 'proj_update' );
function proj_update ( )
{


    $id = $_POST['id'];
    $compname = $_POST['compname'];
    $projname = $_POST['projname'];
    $imageurl = $_POST['imageurl'];
    $sumsmall = $_POST['sumsmall'];
    $sumfull = $_POST['sumfull'];
    $results = $_POST['results'];
    $caseid = (!isset($_POST['caseid']) || strcmp($_POST['caseid'],'none')) ? $_POST['caseid'] : "NULL"; // weirdness required to get the value of our <select name="caseid"> element converted to something we can insert to database
    $hide = array_key_exists('hide',$_POST) !== false ?  1 : 0; // weirdness required to get the value of <input type="checkbox" name="hide"> converted to something we can insert to database

    $thisAction = $_POST['thisAction']; 

    global $wpdb;

    $message = "";

    switch ($thisAction)
    {
        case 'add':
        {
            /* Note: Have to break up prepare statement because https://core.trac.wordpress.org/ticket/12819 */
            $addQuery = $wpdb->prepare("INSERT INTO projs (compname,projname,imageurl,sumsmall,sumfull,results,caseid,hide) VALUES (%s,%s,%s,%s,%s,%s,%d," . $caseid . ",%d)",
                                        array($compname, $projname,$imageurl,$sumsmall,$sumfull,$results,$hide));        
            $message .= $wpdb->query($addQuery) 
                        ? 'Successfully added project to the database.'
                        : 'Error occurred when trying to add project to database: ' . $wpdb->last_error;
            break;
        }

由于某种原因,$wpdb->last_error 变成了查询为空,我不明白为什么。我看过其他 S.O.有关此主题的帖子,他们说 undefined object 被用作查询,但在这里我使用 $addQuery 作为查询,我没有看到任何未定义的原因。

有什么想法吗?

最佳答案

尝试使用 $wpdb->insert 而不是 $wpdb->query 来插入数据库。

有关使用 $wpdb 的更多信息可以在这里找到:

https://codex.wordpress.org/Class_Reference/wpdb

关于php - 为什么我在这里得到 "Query was empty"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32211504/

相关文章:

php - MySQL+Php服务器最多能有多少个并发连接?

php - 如何在不循环的情况下检查数组是否具有 === null 的值?

php - 使用 php 或 mysql 获取日期的字符串

sql - 获取尚未分配给成员查询的角色

mysql - 如何显示每个评级的员工数量?

php - 如何在 Zend Framework 中使用 PHPUnit 测试变量

mysql - 为什么这个外键约束不正确?

html - div 在调整浏览器大小时下降

html - CSS定位?

html - 没有 div 的 Wordpress Contact Form 7 复选框的 CSS