首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WordPress和PHP |检查数据库中是否存在行,如果存在,则不插入数据

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

Stack Overflow用户
提问于 2018-05-31 18:03:29
回答 2查看 3.9K关注 0票数 3

我对WordPress和SQL还很陌生。我有一个联系人表单,我希望将数据提交到我的WordPress数据库,但前提是之前没有输入过数据。

这就是我到目前为止所拥有的,它在表单提交时将数据发送到我的数据库。

代码语言:javascript
复制
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;
    } 

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-31 18:13:54

使用此代码获取数据

代码语言:javascript
复制
$query = "SELECT * FROM {$wpdb->prefix}table WHERE column = 1";
echo $query;
$results = $wpdb->get_results($query);

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

票数 0
EN

Stack Overflow用户

发布于 2018-09-06 20:21:17

你可以试试这段代码

代码语言:javascript
复制
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);
 }
}

希望这对你有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50621671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档