1

我想更新特定行上的表需要对我的 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 语句放在更新的末尾

让我声明它显示完成,但它根本没有更新表格

4

1 回答 1

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"属性发送它,您必须使用$_POST而不是$_GET

于 2013-03-14T13:32:08.673 回答