所以我已经花了好几个小时试图让我的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());
?>
答案 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,并使用PDO或MySQLi - 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)
从我能理解的一切看起来都不错。我唯一能看到的可能是文本区域字段中的值。这些内部的任何单引号或双引号可能会破坏查询调用。您是否也能告诉我们您的餐桌结构?