0

我按照介绍使用 prepare 向表中插入一些数据。

代码是这样的:

$wpdb->query(
     $wpdb->prepare(
            "INSERT INTO {$wpdb->prefix}awpcp_adphotos VALUES
            (ad_id, image_name, disabled, isprimary)
            (%d, %s, %d,%d)",
            $ad_id,
            $ad_img,
            0,
            0));

此外,禁用并且is_primary应该是布尔值。但我不确定这里的数据类型是什么。

我也试过

$wpdb->insert(
'{$wpdb->prefix}awpcp_adphotos', // Table name
array(
    'ad_id' => $ad_id,
    'image_name' => $ad_img,
    'disabled' => 0,
    'is_primary' => 0,
), // Columns
array(
    '%s',
    '%d',
    '%d',
    '%d'
) // Explicit formatting

);

但是还没有运气。

4

1 回答 1

1

不应该是 (?) :

$wpdb->query(
     $wpdb->prepare(
            "INSERT INTO {$wpdb->prefix}awpcp_adphotos(`ad_id`, `image_name`, `disabled`, `isprimary`) 
            VALUES(%d, %s, %d,%d)",
            $ad_id, $ad_img, 0, 0)
 );

我认为你写错了整个事情,也许是错误的:)

对于您的编辑,如果使用insert()应该是这样的:

$wpdb->insert($wpdb->prefix.'awpcp_adphotos', array(
     'ad_id' => $ad_id,
     'image_name' => $image_name,
     'disabled' => $disabled,
     'isprimary' => $isprimary,
));
于 2013-06-21T18:46:05.180 回答