Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php mysql在动态表中插入数据_Php_Mysql - Fatal编程技术网

使用php mysql在动态表中插入数据

使用php mysql在动态表中插入数据,php,mysql,Php,Mysql,insert.php <?php $nidErr = $scodeErr = $constituencyErr = ""; $nid = $scode = $constituency = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["nid"])) { $nidErr = "*"; } else { $nid = test_input($_POST["nid"]); } if (empty($_PO

insert.php

<?php
$nidErr = $scodeErr = $constituencyErr = "";
$nid = $scode = $constituency = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

if (empty($_POST["nid"])) {
$nidErr = "*";
} else {
$nid = test_input($_POST["nid"]);
}

if (empty($_POST["scode"])) {
$scodeErr = "*";
} else {
$scode= test_input($_POST["scode"]);
}

if (empty($_POST["constituency"])) {
$constituencyErr = "*";
} else {
$constituency= test_input($_POST["constituency"]);

}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data; }
?>


<input type="button" value="Add Row" onclick="addRow('dataTable')">

<input type="button" value="Delete Row" onclick="deleteRow('dataTable')">

<table id="dataTable" width="350px" border="1">
<tbody><tr>
<td><input type="checkbox" name="chk[]"></td>
<td>National ID Number<span class="error">* <?php echo $nidErr;?></span>     

<input type="text" name="nid[]"></td>
<td>Security Code <span class="error">* <?php echo $scodeErr;?></span><input  

type="text" name="scode[]"></td>

<td><span class="error">* <?php echo $constituencyErr;?></span>
<select name="constituency[]">
<option value="in">Select Constituency</option>
<option value="de">Mirsorai1</option>
<option value="fr">Comilla1</option>
<option value="us">Dhaka1</option> 
<option value="ch">Sylhet1</option>
</select>
</td>
</tr>
</tbody></table>


<br><input type = "submit" value = "submit">

</form> 

国民身份证号码*
安全代码*
* 
选区
米索拉伊1
科米拉1
达卡1
Sylhet1

insert_post.php

<?php
if ( $_POST["nid"] && $_POST["scode"] && $_POST["constituency"] ){

include("dbcon.php");

foreach($constituency as $a => $b){
$a+1;
$nid = $_POST['nid'][$a];
$scode = $_POST['scode'][$a];
$constituency = $_POST['constituency'][$a];

mysql_query("INSERT INTO voterlist(constituency,scode,nid)
VALUES ('$constituency', '$scode', '$nid')");
}

}

?>

<table id='display'>

<tr>  
<td><?php echo "National ID:<br>" ; ?></td>
<td><?php echo "Security Code:<br>" ; ?></td> 
<td><?php echo "Constituency:<br>" ; ?></td> 



<hr>
</tr>


<tr>
<td><?php echo "<br>" .$nid; ?></td>
<td><?php echo "<br>".$scode; ?></td> 
<td><?php echo "<br>".$constituency; ?></td> 

</tr>


<?php   

?> 
</table>



****我想在insert_post.php页面中显示数据。但是它也显示错误数据没有存储在后端。我对foreach循环感到困惑。关于这一点,我想提出一些建议。

Foreach自己走数组

您不需要$a+1,也不需要代码中对[$a]的引用

如果您对变量和POST输入使用相同的名称(这似乎是您的情况),下面的建议就可以了

首先定义一个safe()函数,在该函数中可以处理注释中提到的可能的sql注入攻击

然后

foreach ($_POST as $key => $value){
    $$key = safe($value);
}
将检索您要查找的值


希望有帮助

您很容易受到攻击,如果您遇到错误,请告诉我们它是什么。别让我们猜了。它在foreach循环中显示错误,那个错误是。。。。?就像我说的,不要让我们猜测错误是什么。它说“为foreach()提供的参数无效”也是“未定义的变量”,那么您在哪里定义了$construction?你只要开始使用它。。。仅仅因为一个变量存在于一个.php文件中,并不能神奇地使它出现在所有其他.php文件中。