The vars are $ingval1 and so on.. the SQL fields are the same, obviously without the $..
This section of my script is not updating the table, why?
<?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());
} ?>
I’ve tried this a few different ways and still no luck.
Why are you using variable variables in the update statement? It might be valid, but I cannot see any values from your code that would make it valid.
Should it be :
instead in your update statement?
From the code, the value of
$tempname1would beingval1throughingval26but the value of$$tempname1would be the value of the variable called$ingval1through$ingval26which I cannot see in the code at all.