我的编辑index.php(主页)不会在mysql上更新我的主表

时间:2014-12-14 02:41:50

标签: php html mysql

所以我已经花了好几个小时试图让我的editindex.php更新到我在mysql的主表。所以我创建了一个表单,显示我在数据库中的colmns中的所有信息,并将所有这些信息都放在textarea中,以便用户可以编辑主页信息,然后单击更新,它应该更改主页信息。但是当我去更新时,它没有给我任何错误,但没有更新主页。下面是我的index.php,它显示了textarea和editindex.php中表单的所有信息,表单被发送到,希望更新我的数据库。< / p>

index.php负责人

<?php
include('../connect.php');


 $query = "SELECT * FROM home";

 $display = mysql_query($query) or die (mysql_error());
 ?>

车身

  <?php 



         $i=0;
     $num = mysql_numrows($display);


    $id = mysql_result($display, 0, 'id');    
    $h1 = mysql_result($display, 0, 'h1');
    $p1 = mysql_result($display, 0, 'p1');
    $p2 = mysql_result($display, 0, 'p2');
    $img1 = mysql_result($display, 0, 'img1');
    $h2 = mysql_result($display, 0, 'h2');
    $p3 = mysql_result($display, 0, 'p3');
    $li1 = mysql_result($display, 0, 'li1');
    $li2 = mysql_result($display, 0, 'li2');








    ?>

    <form enctype='multipart/form-data' action='editindex.php' method='POST'>
    Heading 1: <textarea name="h1" id="h1" rows="5" cols="40"><?php echo  $h1;?></textarea><br/><br/><br/>
    Paragraph 1: <textarea name="p1" id="p1" rows="5" cols="40"><?php echo $p1;?></textarea><br/><br/><br/>
    paragraph 2: <textarea name="p2" id="p2" rows="5" cols="40"><?php echo $p2;?></textarea><br/><br/><br/>
    Image 1:     <textarea name="img1" id="img1" rows="5" cols="40"><?php echo $img1;?></textarea><br/><br/>
    Heading 2: <textarea name="h2" id="h2" rows="5" cols="40"><?php echo $h2;?></textarea><br/><br/><br/>
    Paragraph 3: <textarea name="p3" id="p3" rows="5" cols="40"><?php echo $p3;?></textarea><br/><br/><br/>
    Line 1: <textarea name="li1"  id="li1" rows="5" cols="40"><?php echo $li1;?></textarea><br/><br/><br/>
    Line 2: <textarea name="li2" id="li2"  rows="5" cols="40"><?php echo $li2;?></textarea>
    <input name='id' id="id" value=$id hidden/>

    <input type='image' img src='../img/update.png' border='0' height='50px' alt='Update'/>
      </form>

editindex.php head

<?php
include('../connect.php');




    $id = $_POST['id'];    
    $updateh1 = $_POST['h1'];
    $updatep1 = $_POST['p1'];
    $updatep2 = $_POST['p2'];
    $updateimg1 = $_POST['img1'];
    $updateh2 = $_POST['h2'];
    $updatep3 = $_POST['p3'];
    $updateli1 = $_POST['li1'];
    $updateli2 = $_POST['li2'];


$query = "Update home set h1='$updateh1', p1='$updatep1',p2='$updatep2',h2='$updateh2',p3='$updatep3',li1='£updateli1',li2='$updateli2',img1='$updateimg1' WHERE id='$id'";
$display = mysql_query($query) or die(mysql_error());
?>

3 个答案:

答案 0 :(得分:3)

如果这是故意的li1='£updateli1' // pound sign,则很可能是问题所在。

li1='$updateli1'

强制性注释:

  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

在隐藏的字段中正确构建标记:

<input name="id" id="id" value="<?php echo $id; ?>" type="hidden" />

答案 1 :(得分:0)

可以尝试,

$query = mysql_query("Update home set h1='$updateh1',p1='$updatep1',p2='$updatep2',h2='$updateh2',p3='$updatep3',li1='$updateli1',li2='$updateli2',img1='$updateimg1' WHERE id='$id' LIMIT 1");

答案 2 :(得分:0)

从我能理解的一切看起来都不错。我唯一能看到的可能是文本区域字段中的值。这些内部的任何单引号或双引号可能会破坏查询调用。您是否也能告诉我们您的餐桌结构?