簡體   English   中英

使用PHP在Mysql表中插入多行

[英]Inserting Multiple rows in Mysql table with PHP

我在修這里。 我的代碼不會使用一個表單將多個數據插入到mysql表中。 這是我的代碼 -

<?php
if (isset($_POST['submitted'])) {
  include('config.php');
  foreach($_POST['name'] as $row=>$nam) {
    $name=$nam;
    $class=$_POST['class'][$row];
    echo "<br/>" . $name . "<br/>" . $class;
    $sql="INSERT INTO multiple (name, class) VALUES ('$name','$class')";
  }
  if (!mysql_query($sql)) die('Error: ' . mysql_error());
  echo "1 record added";
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label>Name1:
<input id="name" name="name[]" type="text">
<input type="hidden" name="submitted" value="true" />
</label>
<label> Class1:
<input id="class" name="class[]" type="text">
</label>
<label>Name2:
<input id="name" name="name[]" type="text">
</label>
<label>Class2:
<input id="class" name="class[]" type="text">
</label>
<label>Name3:
<input id="name" name="name[]" type="text">
</label>
<label>Class3:
<input id="class" name="class[]" type="text">
</label>
<label>Name4:
<input id="name" name="name[]" type="text">
</label>
<label>Class4:
<input id="class" name="class[]" type="text">
</label>
<label>Name5:
<input id="name" name="name[]" type="text">
</label>
<label>Class5:
<input id="class" name="class[]" type="text">
</label>
<input value="Add" type="submit">

</form>

當我按下提交按鈕時,沒有任何內容插入mysql表中。 僅創建空字段。 如果我插入5個文本字段,我在sql表中得到5個空字段。

Imroz,你使用[]作為輸入元素名稱的一部分(不是id的)example name="class[]"當表單發布時它構建一個數組。 PHP會識別的post對象是$_POST['class']

但是,作為一個數組意味着在將數據插入數據庫之前必須稍微處理它,因為你不能只是(也許你可以)將一個數組放入數據庫

如果你這樣做了

for($x=0;$x < count($_POST['class']); $x++)
{
    echo $_POST['class'][$x].'<br>';
}

您將能夠從名為class[]的輸入中查看所有已發布的輸入

當然,這是你需要做的整體事情的核心例子,但我只想表達你發布的數據的最新情況。

我認為你的插入查詢是問題.....嘗試這樣

$query = mysql_query("INSERT INTO category VALUES('','$name','$class','')") or die(mysql_error()); 

你有}在錯誤的地方。

$sql=之后的}應該在echo "1 record added";之后移動echo "1 record added";

我重新格式化您的代碼以使用正確的縮進,錯誤是顯而易見的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM