使用If语句在插入时使用PHP消除MySQL中的空行和列

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用If语句在插入时使用PHP消除MySQL中的空行和列脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 PHP从表单中插入日期.我有24个字段,用户可以在其中将数据插入数据库.问题是我怎么不允许空字段成为MysqL中的行,因为它们是空的?不需要任何字段,字段被格式化为输入文本字段.我被考虑使用的是在查询后的值部分中的if语句;这是一个例子:

/**************
* HTML Form
**************/
<form action='insert.PHP' method='post'>

<p> What ITems do you have for sale?</p>

Item 1: <input tyPE='text' name='item1'> PRice: <input type='text' name='item1cost'>
Item 2: <input type='text' name='item2'> Price: <input type='text' name='item2cost'>
Item 3: <input type='text' name='item3'> Price: <input type='text' name='item3cost'>

<input type="submit" name="Submit" value="Submit">
</form>


/**************
* PHP
**************/

$user = (From $_SESSION)
$item1      = $_POST['item1'];
$item1cost  = $_POST['item1cost'];
$item2      = $_POST['item2'];
$item2cost  = $_POST['item2cost'];
$item3      = $_POST['item3'];
$item3cost  = $_POST['item3cost'];


/*********************
* MysqL INSERT query
*********************/

$query = "INSERT INTO monthly_expenses (`userid`,`item`,`amount`)" 
                                   . "VALUES ($user,'$item1','$item1cost'),($user,'$item2','$item2cost'),'$item3','$item3cost'),

如果用户将其中一个字段留空,我怎么能让它们不插入到数据库中,所以不存在只有userid的空行?

解决方法

您可以将值放入数组,然后检查它们是否为空(可能会建议其他一些检查有关安全问题)并创建$values变量,您可以将其加载到数据库中.

$item[0]      = MysqL_real_escape_string(trim($_POST['item1']));
$itemcost[0]  = MysqL_real_escape_string(trim($_POST['item1cost']));
$item[1]      = MysqL_real_escape_string(trim($_POST['item2']));
$itemcost[1]  = MysqL_real_escape_string(trim($_POST['item2cost']));
// and so on

$values = "";
for ($i = 0; $i < 2; ++$i) {
    if ($item[$i] != "" && $itemcost[$i] != "") {
        $values .= "($user,'$item[$i]','$itemcost[$i]'),";
    }
}

/*********************
* MysqL INSERT query
*********************/

if ($values != "") {
  $values = substr($values,-1);
  $query = "INSERT INTO monthly_expenses (`userid`,`amount`)" 
                                   . " VALUES $values";
}

也可以将HTML输入字段名称作为item []之类的数组,并将它们直接解析为PHP-arrays.

脚本宝典总结

以上是脚本宝典为你收集整理的使用If语句在插入时使用PHP消除MySQL中的空行和列全部内容,希望文章能够帮你解决使用If语句在插入时使用PHP消除MySQL中的空行和列所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。