php - 更新 SQL 表

标签 php mysql sql

我想更新特定行的表,需要一些关于我的 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">

这是指我的 Action 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 语句放在更新的末尾

我只是说它显示完成,但它根本没有更新表格

最佳答案

首先,您需要将您的 ID 存储到表单中的隐藏表单元素中。

<form method="post" action="control_clientupdated.php">
    <input type="hidden" name="member_msisdn" value="<?=$query?>" />
    ...
</form>

这将允许您传递第一个 php 脚本的值。

然后在你的control_clientupdated.php你需要使用 $_POST恢复您的值(value)。

// 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

关于php - 更新 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410183/

相关文章:

php - MYSQL无法更新

sql - 查找列数最少的行与模式匹配

sql - PGSQL 查询以在每个用户名中使用特定字母进行排序

php - 使用 htmlspecialchars 而不是编码 & 是否存在安全漏洞?

php - 使用 Hook 在我的帐户页面上更新 Woocommerce 地址验证

MYSQL使用AS或其他变量查询列

php - 从 MySQL 数据在 php 数组中创建空白行

php - 使用 <pre> 标签显示代码

php - 在更改表迁移中将现有外键列设置为可为空

sql - VBA ADO 参数化 LIKE 查询