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

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

我的代码如下所示</ p>

 &lt;?php 
#查询数据准备
$ id = $ _ GET [ 'ID'];

#从数据库中选择标题和描述字段
$ sql =“SELECT a_answer FROM $ tbl_name WHERE question_id ='$ id'”;

$的结果= mysql_query($ SQL);
$的行= mysql_fetch_array($结果);吗?

&GT;

&LT; H3&gt;编辑&LT; / H3&GT; &lt; form action =“save_edit.php”enctype =“multipart / form-data”method =“post”name =“myForm”/&gt;

&LT;表&gt;

&LT; TR&GT;

&LT; TD&GT;&LT b取代;应答和LT; / B&GT;&LT; / TD&GT;

&lt; td&gt;&lt; textarea cols =“80%”rows =“10”name =“a_answer”&gt;&lt;?php echo $ row ['$ a_answer']; ?&GT;&LT; / textarea的&GT;&LT; / TD&GT;

&lt; / tr&gt;

&lt; / table&gt; &lt; input name =“id”type =“hidden”value =“&lt;?echo $ id;?&gt;”&gt;

&lt; input name =“enter”type =“submit”value =“Edit”&gt; &LT; /形式&GT;

&lt;?php mysql_close(); ?&gt;
</ code> </ pre>
</ div>

展开原文

原文

I am trying to display a database input in a textbox for editing. I cant seem to get it working?! The page links from a forum post edit button. Firstly, I don't know how to get the database info for that particular field to be displayed and also I don't understand how to make sure the post that the user clicks to edit is the post that is displayed.

My code looks like this

<?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(); ?>

php
dtudj42064
dtudj42064 是的,修好了,但仍然没有运气
9 年多之前 回复
dounaidu0204
dounaidu0204 $rows包含行,你正在使用$row一个建议如何使用一些好的教程
9 年多之前 回复

2个回答



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

 &lt;?php 
#查询的数据准备
$ id = $ _ GET ['id' ]。

#从数据库中选择标题和描述字段
$ sql =“SELECT a_answer FROM $ tbl_name WHERE question_id ='$ id'”;

$的结果= mysql_query($ SQL);
$的行= mysql_fetch_array($结果);吗?

&GT;

&LT; H3&gt;编辑&LT; / H3&GT; &lt; form action =“save_edit.php”enctype =“multipart / form-data”method =“post”name =“myForm”/&gt;

&LT;表&gt;

&LT; TR&GT;

&LT; TD&GT;&LT b取代;应答和LT; / B&GT;&LT; / TD&GT;

&lt; td&gt;&lt; textarea cols =“80%”rows =“10”name =“a_answer”&gt;&lt;?php echo $ rows ['a_answer']; ?&GT;&LT; / textarea的&GT;&LT; / TD&GT;

&lt; / tr&gt;

&lt; / table&gt; &lt; input name =“id”type =“hidden”value =“&lt;?echo $ id;?&gt;”&gt;

&lt; input name =“enter”type =“submit”value =“Edit”&gt; &LT; /形式&GT;

&lt;?php mysql_close(); ?&gt;
</ code> </ pre>

另一种方法是使用预处理语句,让PHP和MySQL选择正确的类型。 这里可以找到一个简单的例子。</ p>
</ div>

展开原文

原文

Two errors in your code: Firstly, you are using row instead of rows. The second is the dollar sign you 're using when accessing the field. The code below should work, provided your database query is correct.

<?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(); ?>

Another way to go about things would be to use prepared statements, and let PHP and MySQL quess the correct type. Here can be found a simple example.

douchen9855
douchen9855 没问题。 您应该通过接受它来表明此答案是您问题的解决方案,因此其他人可能会受益。 谢谢!
9 年多之前 回复
doucheng7234
doucheng7234 那就做到了! 谢谢!
9 年多之前 回复



确认数据库中的问题id是整数还是varchar。 如果是整数,则删除单引号。 (只是一个提示可能对你有所帮助。)。
如果你没有上传任何文件,你不需要将多部分放在你的表格中。 </ p>
</ div>

展开原文

原文

confirm if the question id is integer or varchar in your database. if it is integer then remove the single quotes. ( just a hint may it helps you. ). One more thing you do not need to put the multipart in your form if you not uploading any files another tip form me.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问