在文本框中显示数据库字段

时间:2011-04-30 09:48:47

标签: php

我正在尝试在文本框中显示数据库输入以进行编辑。我似乎无法让它工作?! 该页面链接来自论坛帖子编辑按钮。首先,我不知道如何获取要显示的特定字段的数据库信息,我也不知道如何确保用户单击编辑的帖子是显示的帖子。

我的代码看起来像这样

<?php
#data preparation for the query 
$id=$_GET['id']; 

# selects title and description fields from database 
$sql = "SELECT a_answer FROM $tbl_name WHERE question_id='$id'"; 
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

?> 
<h3>Edit</h3> <form action="save_edit.php" enctype="multipart/form-data" method="post" name="myForm" />   
<table>     

<tr>       
<td><b>Answer</b></td>       
<td><textarea cols="80%" rows="10" name="a_answer"><?php echo $row['$a_answer']; ?></textarea></td>   
  </tr>  
   </table>   <input name="id" type="hidden" value="<? echo $id; ?>">   
   <input name="enter" type="submit" value="Edit"> </form>  

  <?php mysql_close(); ?>

2 个答案:

答案 0 :(得分:1)

确认数据库中的问题ID是整数还是varchar。如果是整数,则删除单引号。 (只是暗示它可以帮助你。) 如果你没有上传任何文件,你不需要将多部分放在你的表格中。

答案 1 :(得分:0)

代码中有两个错误:首先,您使用的是row而不是rows。第二个是您在访问该字段时使用的美元符号。如果数据库查询正确,下面的代码应该可以使用。

<?php
#data preparation for the query 
$id=$_GET['id']; 

# selects title and description fields from database 
$sql = "SELECT a_answer FROM $tbl_name WHERE question_id='$id'"; 
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

?> 
<h3>Edit</h3> <form action="save_edit.php" enctype="multipart/form-data" method="post" name="myForm" />   
<table>     

<tr>       
<td><b>Answer</b></td>       
<td><textarea cols="80%" rows="10" name="a_answer"><?php echo $rows['a_answer']; ?></textarea></td>   
  </tr>  
   </table>   <input name="id" type="hidden" value="<? echo $id; ?>">   
   <input name="enter" type="submit" value="Edit"> </form>  

  <?php mysql_close(); ?>

另一种方法是使用预处理语句,让PHP和MySQL查询正确的类型。 Here can be found一个简单的例子。