有很多input輸入資料但是想要插入不同的資料表
我的做法是這樣,只有TABLE users_data的時候是正常的
但是再加上第二個資料表TABLE hotel就失敗,還想要同時新增資料到第三個資料表...
$insertSQL ="INSERT INTO users_data VALUES (NULL,$_SESSION[add_ID], '$_POST[BN]', '$_POST[GN]', '$_POST[users_address]', '$_POST[line_ID]', '$_POST[users_url]', '備註')";
$myData = $myconnect->query($insertSQL);
if ($myData) {
echo "成功";
//header("Location: con_show.php");
}else{
echo "錯誤: " . $insertSQL. "<br>" . $myconnect->error;
}
$insert2SQL ="INSERT INTO hotel VALUES (NULL,$_SESSION[add_ID],$_POST[hotel],$_POST[room],$_POST[print_time],'待確認','待確認',$_POST[table_num],$_POST[host],$_POST[host_tel],'停車場','0',current_timestamp())";
$myData2 = $myconnect->query($insert2SQL);
if ($myData2) {
echo "成功hotel";
}else{
echo "錯誤: " . $insert2SQL. "<br>" . $myconnect->error;
}
出現的錯誤是
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':00~15:00,'待確認','待確認',0,後續提供,後續提供,'停車場','0',cu' at line 1
看起來是與資料庫的資料類型錯誤嗎?
一個一個檢查之後還是找不出來原因
是否可以幫我看看呢??><
謝謝各位前輩
後續提供,後續提供 => '後續提供','後續提供'
echo $insert2SQL;
這是兩個input裡面的value
form有設定 method="post"
所以在插入的語法是
$insert2SQL ="INSERT INTO hotel VALUES (NULL,$_SESSION[add_ID],$_POST[hotel],$_POST[room],$_POST[print_time],'待確認','待確認',$_POST[table_num],$_POST[host],$_POST[host_tel],'停車場','0',current_timestamp())";
<td><input type="text" size="20" name="host" value="後續提供"></td>
<td><input type="text" size="20" name="host_tel" value="後續提供"></td>
剛剛 echo insert2SQL; 沒有東西
後來這樣做
$insert2SQL ="INSERT INTO hotel VALUES (NULL,$_SESSION[add_ID],$_POST[hotel],$_POST[room],$_POST[print_time],'待確認','待確認',$_POST[table_num],$_POST[host],$_POST[host_tel],'停車場','0',current_timestamp())";
$myData2 = $myconnect->query($insert2SQL);
echo $myData2."嗨";;
echo $myData2."嗨"; 只有出現 嗨
echo $insert2SQL;
放在
$myData2 = $myconnect->query($insert2SQL);
前面
$insert2SQL ="INSERT INTO hotel VALUES (NULL,$_SESSION[add_ID],$_POST[hotel],$_POST[room],$_POST[print_time],'待確認','待確認',$_POST[table_num],'$_POST[host]','$_POST[host_tel]','停車場','0',current_timestamp())";
少了單引號就加上去...
另外雖是老生常談:不要直接把input放進sql...
我成功了><
天啊 超級感謝><
已經好幾天了...
看到INSERT ALL看起來可以用,也試了兩天.
寫到資料庫前最好先 echo $insert2SQL; 出來看一下或測一下有沒有問題