繁体   English   中英

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

[英]Fetch MySQL table data with specific value

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


表名是


我从以下内容开始,现在我试图查看如何提取与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>

您的查询中有错误,正在传递未分配的变量,因此请按以下方式更改第一个查询

$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并使用准备好的语句来避免任何问题。

您的代码看起来正确。 您只需要更改以下内容:

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

对此:

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

您所要做的就是变量和列名,并且要显示结果,必须正确遍历所获得的所有行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM