我不确定我的查询有什么问题,因为我无法用最新的值更新数据库,但我可以(打印)该值。
$serial[$i]= $_POST['serial'][$i];
print_r($serial);
$a = array(1,2,3,4,5,6);
print_r( $a);
$i=0;
$i=0;
foreach($serial as $s => $m){
$sqlw = "update speciform set nam5 = '$m[$i]' where nn = '$a[$i]' AND
nam11= CURDATE()";
mysql_query($sqlw) or die(mysql_error());
$i++;
}
下面是我的更新表(html和php):
更新表
当我回显$序列号时this:-
回音$序列号
当我回音$a时,我得到this:-echo 一美元
我的数据库就像this:-database table
我真的需要有人来帮助我,因为我目前对这个问题一无所知。
2条答案
按热度按时间j2datikz1#
更改此查询
因为正如您所采用的foreach循环,所以单个元素的数组是它们唯一的单位$m。
tmb3ates2#
foreach($serial as $s => $m) { ... }
将在阵列中循环$serial
如你所料。如果你写:
您将注意到,在每个迭代中,都会显示test1 test2 test3等等。
自
$m
是一根弦,$m[0]
是第一个字符。因此,$m[$i]
将在第一次迭代时显示第一个字符,在第二次迭代时显示第二个字符,依此类推。。。此查询易受sql注入攻击,但这是另一个主题。我强烈建议您清理用户输入。永远不要信任用户。