2011-02-27 5 views
0

他の方法を知らないとお詫び申し上げます。私は他のquestionに追加しようとしましたが、これをどのように追加するのか分かりませんでした。whileループ中にmysql_fetch_arrayとUPDATEを使用する - PART TWO

私は前のquestionの答えを別の場所に適用しようとしています。

この場合、もう少し先に進んでいますが、idsはテーブルとテーブルが一致しないためuser_nameの値が変更されるため、上記と同じことを行うことができます。idをuser_nameに変更します。私は私の最初のプロジェクトのためにたくさん食べることを知っていますが、私はこのコーディングのことが本当に好きです。私はあまりにも多くのシャツの尾を引っ張っていないことを願っています。ご協力いただきありがとうございます。

コードを強調します。前の質問と同様に、すべての行に同じuser_nameを配置しています(前の質問と同様)

<?php 

$Var1 =$_POST['Var1']; 

require("connection.php"); 

mysql_query("UPDATE table1 SET actor = '$Var1'"); 

$result = mysql_query("SELECT * FROM table2 WHERE subject ='$Var1'"); 

while($row = mysql_fetch_array($result)) 
    { $un = $row['user_name']; 
    $a =$row['subject']; 
    $a_val = $row['subject_val']; 

    $sql=mysql_query("UPDATE table3 SET user_name='$un', subject='$', subject_val= $a_val WHERE user_name=".$row['user_name']);  

    } 
mysql_close($connection); 
?> 
+0

SQLインジェクションに注意してください。 $ Var1はサニタイズされていません! –

答えて

1

私はこの種の質問に最後に答えます。いくつかの最適化も追加しています。

<?php 
var expires = (isset($_POST['var1']) ? $_POST['var1'] : die("no VAR"); 

require_once("connection.php"); 

mysql_query("UPDATE table1 SET actor = '$var1'") or die("I cannot run , reason : ".mysql_error()); 

$result = mysql_query("SELECT * FROM table2 WHERE subject ='$var1'") or die("I cannot run , reason : ".mysql_error()); 

while($row = mysql_fetch_array($result)) { 
    extract($row); // field name as variable , content as value , so be sure that the fields have the right name 
    /* 
      $user_name = $row['user_name']; 
      $subject =$row['subject']; 
      $subject_val = $row['subject_val']; 
    */ 
     $sql="UPDATE table3 SET user_name='".$user_name."', subject='".$subject."', subject_val= ".$subject_val." WHERE user_name='".$user_name."'"; 
    mysql_query($sql) or die("I cannot run , reason : ".mysql_error()); 

    } 
mysql_close(); 
?> 
+0

解析エラー:構文エラー、予期しないT_VAR行3 – zdvdla

0

はUSER_NAMEする第3のテーブルのキーを変更し - 次いで

$sql="UPDATE table3 SET user_name='".$user_name."', subject='".$subject."', subject_val= ".$subject_val." WHERE user_name='".$un."'"; 

が働きました!

助けてくれてありがとう!

関連する問題