-1
我一直在从这个网站的帮助下工作。我现在可以插入players
表多行(基于$add-rows
值)。我还需要将events
表格1行插入。当我提交表单,将其插入到players
罚款,但不进events
php mysqli插入多行到1表和1行到另一个表
这是我的形式需要2所有值查询
<form id="form-add" name="form-add" method="POST" enctype="multipart/form-data" action="page.php">
<input name="add-name" id="add-name" type="text" value="Event">
<input name="add-start" id="add-start" type="text" value="">
<input name="add-end" id="add-end" type="text" value="">
<input name="add-loc" id="add-loc" type="text" value="">
<input name="add-rows" id="add-rows" type="text" value="">
<input name="add-submit" id="add-submit" type="submit" value="Add" />
<input type="hidden" name="submitted" value="TRUE" />
</form>
这些都是我从形式张贴值
<?php
$add_name = $_POST['add-name'];
$add_start = $_POST['add-start'];
$add_end = $_POST['add-end'];
$add_loc = $_POST['add-loc'];
$add_rows = $_POST['add-rows'];
$add_url = date('Y-m-d',strtotime($add_start)).'-'.str_replace('-',' ',($add_name));
if(isset($_POST['submitted'])) { //check if form submitted
//connection
$mysqli = new mysqli('host', 'user', 'pass', 'db_name');
//this is the first query - to insert multiple rows in to players table (from same form)
$query = "INSERT INTO players (position, event, start, end, name, one, two, three, four, five, six)
VALUES ('', '$add_url', '$add_start', '$add_end', '', 'Yes', 'No', 'No', 'No', 'No', 'No');" .
str_repeat(", ('', '$add_url', '$add_start', '$add_end', '', 'Yes', 'No', 'No', 'No', 'No', 'No')", $add_rows - 1);
//this is the 2nd query - to insert to events table (from same form)
$query .= "INSERT INTO events (ur, name, start, end, loc) VALUES ('$add_url', '$add_name' '$add_start', '$add_end', '$add_loc');";
// execute query - $result is false if the first query failed
$result = mysqli_multi_query($mysqli, $query);
if ($result) {
do {
// grab the result of the next query
if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') {
echo "Query failed: " . mysqli_error($mysqli);
}
} while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)); // while there are more results
} else {
echo "First query failed..." . mysqli_error($mysqli);
}
}//end of form submit if
?>
@你的常识我需要输入x行数bcz没有名字(名字列在玩家表中)。那些将在稍后更新。但需要x个插槽(行)。关于multi_query,我试过了,没有运气。我可以插入到玩家表中,但不是事件。我现在要通过我的代码..调试,因为你建议,但没有运气。谢谢 – Azukah 2013-03-13 02:16:24