我想更新特定行上的表需要一些关于我的php语句的建议
我使用此语句来调用客户端的信息
<?php
$host="localhost"; // Host name
$username="****"; // Mysql username
$password="****"; // Mysql password
$db_name="****"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get value of id that sent from address bar
$id=$_GET['id'];
// Retrieve data from database
$sql="SELECT * FROM $tbl_name WHERE member_msisdn='$query'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
这很好地回应了我需要的信息并能够改变它。
<form name="form1" method="post" action="control_clientupdated.php">
这引用了我的动作php脚本
我需要帮助的问题是如何通知我的操作脚本使用与运行查询相同的ID来更新该行。
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// update data in mysql database
$sql="UPDATE $tbl_name SET member_name='$member_name',
member_surname='$member_surname', member_msisdn='$member_msisdn', cid='$cid',
cofficenr='$cofficenr', cfax='$cfax', e2mobile='$e2mobile' WHERE member_msisdn='$query'";
$result=mysql_query($sql);
我已将WHERE语句放在更新结尾
让我说明它已完成,但它并没有更新表格
答案 0 :(得分:1)
首先,您需要将ID存储在表单中的隐藏表单元素中。
<form method="post" action="control_clientupdated.php">
<input type="hidden" name="member_msisdn" value="<?=$query?>" />
...
</form>
这将允许您传递第一个php脚本中的值。
然后在您的control_clientupdated.php
中,您需要使用$_POST
来恢复您的价值。
// Store the $_POST value for my query ID
$query = $_POST['member_msisdn'] ;
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// update data in mysql database
$sql="UPDATE $tbl_name SET member_name='$member_name',
member_surname='$member_surname', member_msisdn='$member_msisdn', cid='$cid',
cofficenr='$cofficenr', cfax='$cfax', e2mobile='$e2mobile' WHERE member_msisdn='$query'";
$result=mysql_query($sql);
这应该是您所需要的 - 请注意,您无法使用$_GET
检索表单传递的变量,因为您使用method="post"
属性发送该变量时必须使用{{1}而不是$_POST