Wordpress - 使用wpdb插入字符串

时间:2017-09-27 09:06:15

标签: php wordpress

我有这样的代码:

global $wpdb;
    $wpdb->insert(
        'name_of_table',
        array(

            'someInteger' => $surveyResult6,
            'someString' => $surveyResult7
        ),
        array(

            '%d',
            '%s'
        )
    );
    // Increment database rows
    $wpdb->insert_id;
    echo $surveyResult7;

...我在表格中插入字符串时遇到问题。

没有错误,evrything似乎很好,但我的数据库中没有新的记录。如果我将字符串更改为数字并再次提交表单,则会出现带有两位数字的新行。

我已经阅读了一些问题,比如这个问题(wpdb和字符串),但我找不到任何解决方法。谁能告诉我该怎么办?

2 个答案:

答案 0 :(得分:1)

您的脚本中有错误

global $wpdb;
    $wpdb->insert(
        'name_of_table',
        array(

            'someInteger' => $surveyResult6,
            'someString' => $surveyResult7
        ),
        array(

            '%d', //<---remove unwanted single quotes
            '%s'
        )
    );
    // Increment database rows
    $wpdb->insert_id;
    echo $surveyResult7;

答案 1 :(得分:0)

我解决了自己的问题。我为有问题的人写了答案。

我不知道为什么,但如果您有(例如)表格中的5个变量,其中一个是字符串,则必须填写表格(所有字段)。如果您跳过其中一个输入,那么&#39;是个问题。最奇怪的是,如果只有数字作为变量发送到数据库,则可以跳过某些字段,代码将使用您的值和空值创建行。