wordpress和php |检查数据库中是否存在行,如果是,则不插入数据

fd3cxomn  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(378)

我对wordpress和sql还比较陌生。我有一个联系表格,我想有数据提交到我的wordpress数据库,但只有当数据已经输入之前没有输入。
这是我到目前为止所拥有的,它在表单提交时将数据发送到我的数据库。

if(isset($_POST['contact_us'])) {
    $invalidContact = "<h5 class='invalidBooking'> Nope try again</h5>";
    $successContact = "<h5 class='invalidBooking'> Message Sent!</h5>";
    $table_name='contact_table';
    global $wpdb;

    $contact_name = esc_attr($_POST['contact_name']);
    $contact_email = sanitize_email($_POST['contact_email']);
    $subject = esc_attr($_POST['subject']);
    $message = esc_attr($_POST['message']);

    $error= array();

    if (empty($contact_name)) {
        $error['name_invalid']= "Name required";
    }
    if (empty($contact_email)){
        $error['email_invaild']= "Email required";
    }

    // Im guessing some code here to check if row exists in database

    if (count($error) >= 1) {
        echo $invalid;
    }
    if (count($error) == 0) {
        $data_array=array(
            'Contact_Name'=>$contact_name,
            'Contact_Email'=> $contact_email,
            'Contact_Subject'=> $subject,
            'Contact_Message'=> $message,
        );

        $rowResult=$wpdb->insert($table_name, $data_array,$format=NULL);
        echo $successContact;
    } 

}
oknwwptz

oknwwptz1#

你可以试试这个代码

if (count($error) == 0) {
    $data_array=array(
        'Contact_Name'=>$contact_name,
        'Contact_Email'=> $contact_email,
        'Contact_Subject'=> $subject,
        'Contact_Message'=> $message,
    );

 $query = "SELECT * FROM $table_name WHERE 'Contact_Name'= '$contact_name' AND 'Contact_Email' = '$contact_email' AND 'Contact_Subject' = '$subject' AND 'Contact_Message' = '$message'";
 $query_results = $wpdb->get_results($query);
 if(count($query_results) == 0) {
    $rowResult=$wpdb->insert($table_name, $data_array,$format=NULL);
 }
}

希望这对你有用。

nnsrf1az

nnsrf1az2#

使用此代码获取数据

$query = "SELECT * FROM {$wpdb->prefix}table WHERE column = 1";
echo $query;
$results = $wpdb->get_results($query);

然后你知道该怎么做。。。

相关问题