获取具有特定值的MySQL表数据

时间:2014-02-23 22:35:21

标签: php mysql

我正在尝试使用PHP编辑值和/或向表选项添加更多值,这是一个屏幕截图:


table name is


我开始使用以下内容,现在我试图了解如何提取与form_field_id相关联的数据,在此示例中为5.

<?php

require_once("config/database.php");

$con = mysql_connect($config["db_server"],$config["db_user"],$config["db_pass"]);
mysql_select_db($config['db_name'], $con);

// get value of id that sent from address bar
$id=$_GET['form_field_id'];

// Retrieve data from database
$sql="SELECT * FROM options WHERE id='$form_field_id'";    


$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

?>  


<form name="form1" method="post" action="updated_values.php">

<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<input name="name" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">

<button type="submit" /> Update </button>
</form>

以下是我建议后添加的更新代码:

<?php
require_once("config/database.php");


$con = mysql_connect($config["db_server"],$config["db_user"],$config["db_pass"]);
mysql_select_db($config['db_name'], $con);


// get value of id that sent from address bar
$id=$_GET['form_field_id'];

// Retrieve data from database
$sql="SELECT * FROM options WHERE id='$id'"; 


$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

?>



<form name="form1" method="post" action="updated_values.php">

<?php
while($rows=mysql_fetch_array($result))
{
?>
   <input name="name[]" class="form-control" type="text" id="name" value="<? echo $rows['value']; ?>">
<?php } ?>

<button type="submit" /> Update </button>
</form>

2 个答案:

答案 0 :(得分:1)

您的查询中有错误,您传递的是您未分配的变量,因此请更改第一个查询,如下所示

$sql="SELECT * FROM options WHERE id='$id'"; 
                                   //^here you used a wrong variable

您还需要循环抛出记录以打印所有记录,因此请按以下步骤进行更改

<form name="form1" method="post" action="updated_values.php">

<?php
while($rows=mysql_fetch_array($result))
{
?>
   <input name="name[]" class="form-control" type="text" id="name[]" value="<? echo $rows['value']; ?>">
<?php } ?>

<button type="submit" /> Update </button>
</form>

请注意,我还更改了输入的名称,并添加了[],因此您将获得一个name输入数组。 作为旁注,我会说你的代码非常容易受到mysql注入,你应该切换到mysqliPDO并使用准备好的语句来避免任何问题。

答案 1 :(得分:0)

您的代码看起来正确。你只需要改变这个:

$sql="SELECT * FROM options WHERE id='$form_field_id'"; 

到此:

$sql="SELECT * FROM options WHERE form_field_id='$id'";

你所有的错误就是变量和列名,并且为了显示你必须正确遍历所有行的结果。