使用If语句在插入时使用PHP消除MySQL中的空行和列
我正在使用 PHP从表单中插入日期.我有24个字段,用户可以在其中将数据插入数据库.问题是我怎么不允许空字段成为MySQL中的行,因为它们是空的?不需要任何字段,字段被格式化为输入文本字段.我被考虑使用的是在查询后的值部分中的if语句;这是一个例子: /**************
* HTML Form
**************/
<form action='insert.php' meth
我正在使用
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.
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。