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 に答える