php foreach循环sql插入没有出现确认或错误消息
我刚刚开始学习php,我正在为学校做一个名为“dat501movie”的php mysql数据库。我创建了一个输入框,用户可以选择一个电影标题(每个电影标题的电影ID存储为选项值),然后创建了一个多选择框,用户可以选择多个项目(在本例中为DirectorID),其中DirectorFistName和DirectorLastName显示在显示框中,但DirectorID不显示(对于每个DirectorFirstName和DirectorLastName)存储为选项值 我想将MovieID和DirectorID都存储在一个连接表中,该表用于名为Director_movietable的Movie和Director表 但当我选择多个DirectorFirstName/DirectorLastName项目并按下输入按钮“add”时,不会出现确认或错误消息,告诉我数据是否已插入dat501movie数据库。当我检查我的phpmyadmin时,我看不到此数据库中的新值 如果有人能告诉我为什么我没有收到信息,为什么我的数据没有被插入数据库,我将不胜感激 下面是多重插入框的代码以及选择“添加”按钮时的代码php foreach循环sql插入没有出现确认或错误消息,php,mysql,Php,Mysql,我刚刚开始学习php,我正在为学校做一个名为“dat501movie”的php mysql数据库。我创建了一个输入框,用户可以选择一个电影标题(每个电影标题的电影ID存储为选项值),然后创建了一个多选择框,用户可以选择多个项目(在本例中为DirectorID),其中DirectorFistName和DirectorLastName显示在显示框中,但DirectorID不显示(对于每个DirectorFirstName和DirectorLastName)存储为选项值 我想将MovieID和Dire
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td>MovieTitle List </td>
<td> <Select name="Movie">
<option value=""></option>
<?php
mysql_select_db($dbname, $conn) or die ("Could not connect to database 1");
$query="SELECT MovieID, MovieTitle from movietable";
$result=mysql_query($query) or die ("could not insert data: ".mysql_error());
while ($row=mysql_fetch_array($result)){
$MovieTitle=$row["MovieTitle"];
$MovieID=$row["MovieID"];
echo "<option value=\"$MovieID\">
$MovieTitle
</option>";
}
?>
</Select>
</td>
</tr>
<tr>
<td>Director type List </td>
<td> <Select size="10" name="Director[]" multiple="multiple">
<option value=""></option>
<?php
mysql_select_db($dbname, $conn) or die ("Could not connect to database 2");
$query="SELECT DirectorID, DirectorFirstName, DirectorLastName from directortable";
$result=mysql_query($query) or die ("could not insert data: ".mysql_error());
while ($row=mysql_fetch_array($result)){
$DirectorFirstName=$row["DirectorFirstName"];
$DirectorLastName=$row["DirectorLastName"];
$DirectorID=$row["DirectorID"];
echo "<option value=\"$DirectorID\">
$DirectorFirstName
$DirectorLastName
</option>";
}
?>
</Select>
</td>
</tr>
</table>
<input name="add" type="submit" id="add" value="Add Entry">
</form>
<?php
if(isset($_POST['add']))
{
if(! get_magic_quotes_gpc() )
{
$MovieTitle = addslashes ($_POST['Movie']);
$GenreName = addslashes ($_POST['Genre']);
$ActorName = addslashes ($_POST['Actor']);
$DirectorName = addslashes ($_POST['Director']);
}
else
{
$MovieTitle = $_POST['Movie'];
$GenreName = $_POST['Genre'];
$ActorName = $_POST['Actor'];
$DirectorName = $_POST['Director'];
}
foreach ($DirectorName as $val){
$sql = "INSERT INTO director_movietable( DirectorID, MovieID) Values ('$val','$MovieTitle')";
mysql_select_db('dat501movie');
$retval = mysql_query( $sql, $conn ); //This actually runs the query
if(! $retval )
{
die('Could not enter data into director_movie table: ' . mysql_error());
}
echo "Entered data successfully\n";
}
第一步是回显您正在生成的$sql
。我猜这是不正确的-看起来您正在添加到一个DirectorID
列,该列可能是一个整数,但您使用的值来自$\u POST['Director']
,我假设它是一个文本字段。@andrewsi在我看来它像一个数字字段。他的
中的选项是$DirectorFirstName$DirectorLastName
如果您没有收到确认或错误消息,脚本可能会出现语法错误。请检查服务器上的PHP错误日志。请问您是否在每个服务器上使用db紧循环的迭代?sql注入,二阶,