我正在使用这个PHP代码更新表,但没有更新?
if(isset($Submit))
{
include('connect_mysql.php');
for($i=0;$i<$count;$i++)
{
$sql = "UPDATE $table SET cost='{$cost[$i]}', net=('{$bypiece[$i]}' + '{$cost[$i]}') WHERE serial='{$serial[$i]}'";
$result = mysql_query($dbcon, $sql);
}
}
if($result)
{
header("location:admin-index.php#office.php");
mysql_close();
}
它似乎应该有效,我没有理由不这样做。 我的变量是定义的,当我用else语句回显它们时,一切似乎都没问题。然而,数据没有更新,标头没有重定向。 任何人都可以帮我找到合适的解决方案吗?
答案 0 :(得分:1)
调试时的好主意是打开错误报告。
error_reporting(E_ALL);
ini_set('display_errors', '1');
另外,通过更改
来查看sql语句中是否有任何错误$result=mysql_query($dbcon, $sql);
到
$result=mysql_query($dbcon, $sql) or die(mysql_error());
答案 1 :(得分:0)
更改:
net=('{$bypiece[$i]}' + '{$cost[$i]}')
要:
net=({$bypiece[$i]} + {$cost[$i]})
您还应该对查询进行一些错误检查。
if(isset($Submit)){
include('connect_mysql.php');
$count=20;
for($i=0;$i<$count;$i++){
$sql="UPDATE $table SET cost='{$cost[$i]}', net=({$bypiece[$i]} + {$cost[$i]}) WHERE serial='{$serial[$i]}'";
$result=mysql_query($dbcon, $sql) or die(mylsql_error());
}
if($result){
header("location:admin-index.php#office.php");
mysql_close();
}
}
答案 2 :(得分:0)
$ count设置为什么?
表示,由于$ count未设置为任何值,因此您的代码将无处可进