1

变量是$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

为什么在更新语句中使用可变变量?它可能是有效的,但我无法从您的代码中看到任何使其有效的值。

应该是:

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

而是在您的更新声明中?

从代码中,值$tempname1将是ingval1通过ingval26,但值将是调用的$$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 回答