我编辑了一些控制MySQL数据库的PHP / Javascript代码,并且存在无法更新旧数据库条目的问题。有两个php文件 - update.php和success.php。
在update.php中,有一个计数器$ c,它是行的变量,以便区分它们。在success.php中,我认为需要$ c的数字(名为' count'),结果为$ i的值。代码如下 -
Update.php:
<?php
$c = 0;
while ($row=mysql_fetch_row($result))
{
echo"<tr>";
echo "<td><div class='required'><input type=\"text\" name=\"".$c."ID\" onchange=\"turnWhite(this)\" size=\"7\" value= \"" .$row[3]."\"></div></td>";
echo "<td><select name='".$c."Dataset1' onchange=\"return CheckData(".$c.")\">
<option value='".$row[0]."'>".$row[0]."</option>";
$result1=mysql_query('SELECT Data FROM Database.Table2 ORDER BY Data');
while ($row1=mysql_fetch_row($result1))
{
echo '<option>' . $row[0]. '</option>';
}
echo "</select></td>";
echo "<td><select name='".$c."Dataset2' onchange=\"return CheckData(".$c."\">
<option value='".$row[1]."'>".$row[1]."</option>";
$result=mysql_query('SELECT Data FROM Database.Table2 ORDER BY Data');
while ($row1=mysql_fetch_row($result1))
{
echo '<option>' . $row[0]. '</option>';
}
echo "<td><input type=\"text\" id=\"".$c."Dataset_column2\" name=\"".$c."Dataset_column1\" size=\"30\" value= \"" .$row[2]."\"></td>;
echo "<td><input type=\"text\" name=\"".$c."Dataset_column3\" size=\"30\" value= \"" .$row[3]."\"></td>;
echo "<td><div id='centerbutton'><input type='button' value='Update' onclick='validate(".$c."); return false;' /></div></td>";
$rows = "where 1=1 and `COLUMN2` ='" .$row[2]."' and `COLUMN3` ='".$row[3]."'";
echo "<input type=\"hidden\" name=\"where".$c."\" value=\"".$rows."\">";
$c++;
Success.php:
$previous_URL = $_SERVER['HTTP_REFERER'];
$empty = "";
if(strpos($previous_URL,'update.php') !== false)
{
$i = $_GET['count'];
if ($_FILES[$i."file"]["error"] > 0)
{
}
else
{
}
if (file_exists("C:/Web_content/Upload/" . $_FILES[$i."file"]["name"]))
{
echo "A file of this name already exists.
Please rename your file and upload it again.";
}
if ($stmt = $mysqli->prepare("UPDATE `table` SET `COLUMN2` = ?,
`COLUMN3` = ? ". $_POST['where'.$i] ))
我留下了一些额外的代码。我的问题是,它是什么回声,以及$ c计数器在update.php中的工作原理。而且在success.php中,当$ _GET [&#39; count&#39;]时产生的$ i变量是什么。我一直收到错误代码&#34;这个名字的文件已经存在。
请重命名您的文件并重新上传#34;但我甚至没有上传文件(在我遗漏的另一栏中)。这是更新或成功页面中的问题吗?为什么不允许我通过这些代码更新MySQL中的旧数据库条目?
此外,在一个单独的问题(但相同的PHP代码),有时当我尝试更新我的新数据时,它会给我一个错误代码,说明&#34;文件存在&#34;但在此之下它会说&#34;注意:未定义的索引:C:\ Web_content \ success.php中的where170&#34;在$ _POST [&#39;其中&#39;。$ i]所在的行。
然后我的所有数据都会变成NULL(所以一切都会消失。但我支持我的数据,所以我只是在发生这种情况时导入我的数据。)
提前谢谢!