我按照介绍使用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
);
但还没有运气。
答案 0 :(得分: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,
));