【发布时间】:2014-09-19 13:12:29
【问题描述】:
我正在尝试使用新条目更新菜肴表,并将其交叉引用到现有的配料表。对于添加的每道菜,用户需要分配现有成分和多行所需的体积。提交时,应将菜肴输入到“菜肴”表中,并将分配的成分输入到“菜肴”链接表中。
我的桌子是这样设置的:
表:“菜肴”列:DishID、DishName、Serves 等... 表:“DishIng”列:DishID、IngID、体积 表:“成分”列:IngID、IngName、Packsize 等...
HTML:
<li>IngID: <input type="text" name="IngID"></li>
<li>Volume: <input type="text" name="Volume"></li>
<li>IngID: <input type="text" name="IngID"></li>
<li>Volume: <input type="text" name="Volume"></li>
</ul>
<input type="submit">
</form>
非常欢迎任何有关在 HTML 中动态添加一行成分的建议。
PHP:
<?php
require_once('db_connect.php');
$DishID = mysqli_real_escape_string($con, $_POST['DishID']);
$DishName = mysqli_real_escape_string($con, $_POST['DishName']);
$DishCatID = mysqli_real_escape_string($con, $_POST['DishCatID']);
$Serving = mysqli_real_escape_string($con, $_POST['Serving']);
$SRP = mysqli_real_escape_string($con, $_POST['SRP']);
$Method = mysqli_real_escape_string($con, $_POST['Method']);
$SourceID = mysqli_real_escape_string($con, $_POST['SourceID']);
$IngID = mysqli_real_escape_string($con, $_POST['IngID']);
$Volume = mysqli_real_escape_string($con, $_POST['Volume']);
$array = array('$DishID', '$IngID', '$Volume');
$sql="INSERT INTO Dishes (DishID, DishName, DishCatID, Serving, SRP, Method, SourceID)
VALUES ('$DishID', '$DishName', '$DishCatID', '$Serving', '$SRP', '$Method', '$SourceID')";
$sql2 = "INSERT INTO DishIng (DishID, IngID, Volume) VALUES ('$DishID', '$IngID', '$Volume')";
$it = new ArrayIterator ( $array );
$cit = new CachingIterator ( $it );
foreach ($cit as $value)
{
$sql2 .= "('".$cit->key()."','" .$cit->current()."')";
if( $cit->hasNext() )
{
$sql2 .= ",";
}
}
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
if (!mysqli_query($con,$sql2)) {
die('Error: ' . mysqli_error($con));
}
echo "records added";
require_once('db_disconnect.php');
php?>
目前在提交时,它只更新“Dishes”表并给我这个消息:'1 record addedError: You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以在 '('0','$DishID'),('1','$IngID'),('2','$Volume') 附近使用正确的语法'在第 1 行'
【问题讨论】:
-
原问题已被编辑。
标签: php html mysql database forms