不是100%肯定这里最好还是在WordPress堆栈中,但我会在这里试一试。我的WordPress数据库中有一个名为'wp_sales'的自定义数据库表。每当有人购买商品时,使用以下内容将sale_id写入数据库....
<?php
global $wpdb;
$table_name = $wpdb->prefix . "sales";
$wpdb->insert( $table_name, array( 'saleid' => $sale_id ) );
?>
这很好用,我现在要做的就是修改它,以便在写入saleid之前先检查它以确保没有重复。
这只是我需要使用的直接SQL查询吗?
答案 0 :(得分:1)
只需检查行数:
global $wpdb;
$table_name = $wpdb->prefix . "sales";
$registered = $wpdb->get_var( "SELECT COUNT(*) FROM $table_name WHERE saleid = '{$sale_id}'" );
if ($registered == 0) {
$wpdb->insert( $table_name, array( 'saleid' => $sale_id ), array('%s') );
}
编辑:尝试指定格式here。
EDIT2:对于varchar,您必须在执行select时添加引号,并在插入时为格式指定%s。