1

vars など$ingval1.. SQL フィールドは同じで、明らかに $.. がありません。

スクリプトのこのセクションがテーブルを更新していません。なぜですか?

     <?php // post

     $basename1 = 'ingval';$basename2 = 'ingamt';
     $basename3 = 'ingdes';$basename4 = 'ingcode';

     for ($y = 1; $y < 26; $y++) { 
         $tempname1 = $basename1 . $y; $tempname2 = $basename2 . $y; 
         $tempname3 = $basename3 . $y; $tempname4 = $basename4 . $y;  
         $$tempname1 = $_POST['ingval'.$y];
         $$tempname2 = $_POST['ingamt'.$y];
         $$tempname3 = $_POST['ingdes'.$y];
         $$tempname4 = $_POST['ingcode'.$y];


    }       // sql insert


    $basename1 = 'ingval';$basename2 = 'ingamt';
    $basename3 = 'ingdes';$basename4 = 'ingcode';

    for ($y = 1; $y < 26; $y++) { 

        $tempname1 = $basename1 . $y; $tempname2 = $basename2 . $y; 
        $tempname3 = $basename3 . $y; $tempname4 = $basename4 . $y; 

        $sql = "UPDATE $cookbookdb SET  

           ingval.$y = '" . $$tempname1 . "',
           ingamt.$y = '" . $$tempname2 . "',
           ingdes.$y = '" . $$tempname3 . "',
           ingcode.$y = '" . $$tempname4 . "'


        WHERE id = '" . $barcodeinput . "'";

        sql_query($sql)or die(mysql_error());

    } ?>

私はこれをいくつかの異なる方法で試しましたが、まだうまくいきません。

4

2 に答える 2

1

update ステートメントで可変変数を使用するのはなぜですか? 有効かもしれませんが、有効にするコードの値がわかりません。

それは:

ingval.$y = '" . $tempname1 . "'

代わりに更新ステートメントで?

コードから、 の値はスルーに$tempname1なりますが、 の値は呼び出された変数の値になり、コードではまったく表示されません。ingval1ingval26$$tempname1$ingval1$ingval26

于 2012-09-09T06:58:12.963 に答える
0

データベースに接続していることを確認してください。

 mysql_connect('host','username','password');
 mysql_select_db('db');

もしそうなら、それは何を mysql_error()言いますか?

于 2012-09-09T07:05:16.957 に答える