我試圖用新的條目更新一盤菜,並交叉引用它到現有的成分表。對於添加的每道菜,用戶都需要分配現有配料和多條生產線所需的體積。提交時,應將盤子輸入「盤子」表格中,並將所分配的成分輸入到「DishIng」鏈接表格中。MySQL的PHP數組插入,多個表,不工作
我的表是這樣設置:
表: 「菜」 欄目:DishID,DishName,供應,等等 表: 「祭出」 列: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 dymanically添加成分的一排任何建議會非常受歡迎。
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?>
目前上提交,它僅更新「菜」表,並給了我這個消息:「1個紀錄addedError:您在您的SQL語法錯誤; ('0','$ DishID'),('1','$ IngID'),('2','$ Volume')附近使用正確的語法檢查與您的MySQL服務器版本相對應的手冊。 「第1行」
原始問題已被編輯。 – nbren007 2014-09-23 07:26:05