尝试插入mysql数据库时忽略空白字段 [英] Trying to insert into mysql database ignoring blank fields

查看:156
本文介绍了尝试插入mysql数据库时忽略空白字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从HTML表单中获取数据并插入到mysql数据库中.并非所有字段都是必填字段,因此,如果它们为空,我会尝试忽略这些字段.

Im taking data from a HTML form and inserting into mysql database. Not all fields are mandatory and so Im trying to ignore those fields if they are empty.

我有两个问题.第一个找到解决空白字段的方法,第二个找到实际写入数据库的方法.

Im have two problems. The first to find a way to deal with the blank fields and the second actually wrting to the database.

这是我到目前为止所做的:

Here's what Ive done so far:

    //check if fields are empty
    $insertStrSet = '';
    if($submitted_telephone !== '') {$insertStrSet .= 'telephone=\'$submitted_telephone\',';}
    if($submitted_address !== '') {$insertStrSet .= 'address=\'$submitted_address\',';}
    if($has_image !== ''){ $insertStrSet .= 'has_image=\'$has_image\',';}
    if($final !== ''){ $insertStrSet .= 'image_id=\'$final\',';}    
    $insertStrSet = substr($insertStrSet,0,-1);

    //create sql query
    $insert = "INSERT INTO directory_listings cat_id='$submitted_category', user_id='$user_id', site_name='$submitted_name', description='$submitted_description', url='$submitted_url', country='$submitted_country', email='$submitted_email', $insertStrSet";

mysql_query($insert);

推荐答案

您可以使用empty()函数进行检查.并且您的sql查询中有一些语法错误.SET丢失.和逗号是虚假的.固定答案:

You can check with empty() function. and you have some syntax error on your sql query. SET is missing. and commas are cosntructed falsely. fixed answer:

//check if fields are empty
$insertStrSet = '';
if(!empty($submitted_telephone)) {$insertStrSet .= 'telephone=\'$submitted_telephone\',';}
if(!empty($submitted_address)) {$insertStrSet .= ', address=\'$submitted_address\'';}
if(!empty($has_image)){ $insertStrSet .= ', has_image=\'$has_image\'';}
if(!empty($final)){ $insertStrSet .= ', image_id=\'$final\'';}    

//create sql query
$insert = "INSERT INTO directory_listings SET cat_id='$submitted_category', user_id='$user_id', site_name='$submitted_name', description='$submitted_description', url='$submitted_url', country='$submitted_country', email='$submitted_email' $insertStrSet";

mysql_query($insert);

这篇关于尝试插入mysql数据库时忽略空白字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆