信息未保存到 WP 插件中的数据库

Info not been saved to database in WP plugin

我的 wordpress 插件有问题。我正在尝试将信息添加到数据库 (mySQL) 但它没有被保存。我不知道为什么,我有代码,我认为它是正确的但显然它有问题。感谢阅读!


这是我的代码

添加人名的界面

function render_add_person {
        if (!current_user_can('fp_control_form')) {
            wp_die(__('Access denied.', fp_person ));
        }
        $uicreate .= "<form id='fp-person-fm'>\n";
        $uicreate .= "<p><input type='text' id='person-nm' name='perosn-nm' value='' /> ";
        $uicreate .= $this->add_wrap(__('Submit Name', fp_person),"<button class='cc-btn one'>", "</button></p>");
        $uicreate .= "</form>\n";


        echo($uicreate);
    }

插入数据库代码

// Insert to db
    function db_add_person($person) {
        global $wpdb;
        $output = $wpdb->insert($wpdb->prefix . fp_person_tbl,
                                array('p_name'  => $input->person
                                ),
                                array('%s')
                                );
        if ($this->return_result($output)){

            $input->id = $wpdb->insert_id;


            $this->ren_person($person);
        }
    }

渲染人

function ren_person($person){
        $output = array(
            'id'            => $person->id,
            'p_name'    => $input->p_name
         );


        $this->render_json($output);
    }

为什么这段代码不起作用?抱歉,问题很长!

我会把这个移到答案中。

$output = $wpdb->insert($wpdb->prefix . fp_person_tbl,

这一行应该给您带来了问题。 table 名称需要用引号引起来。

$output = $wpdb->insert($wpdb->prefix . 'fp_person_tbl',

应该可以。

回答你的问题,在这种情况下,single 或 double 都行。我选择单字只是因为我不必按 SHIFT 键来输入它们。 :) 没有优劣之分。

如果之后还是不行,我们再看一下。

HTH,

=C=