PHP计数器无法正常工作,无法更新MySQL数据库

时间:2014-07-31 17:03:34

标签: javascript php mysql sql database

我编辑了一些控制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(所以一切都会消失。但我支持我的数据,所以我只是在发生这种情况时导入我的数据。)

提前谢谢!

0 个答案:

没有答案