2011-06-05 123 views
0

这是我的最后一个问题数据无法采访了到数据库的PHP - 编辑后 -

https://stackoverflow.com/questions/6233894/data-can-not-be-intered-to-database-php

我做了一些变化,这两种;包含文本框和操作页面的页面。

在第一页,我所做的文本框具有与每个回路不同的名称:

$count1=100; 
$count2=200; 
$count3=300; 
$count4=400; 

echo "<form action='ConfirmEnter.php' method='post'>"; 
echo "<table border cellpadding=3>"; 
echo "<tr>"; 
echo "<th>ID</th>"; 
echo "<th>MidTerm</th>"; 
echo "<th>Project</th>"; 
echo "<th>Final</th>"; 
echo "<th>Total</th>". "</tr>"; 

while($row1 = mysql_fetch_array($result1)) 
{ 
echo "<tr>"; 
echo "<td><input name='".$count1."' readonly='readonly' value='". $row1['ID'] ."' size=5/></td> "; 
echo "<td><input type='text' name='".$count2."' size=5 value='0.0' /></td>"; 
echo "<td><input type='text' name='".$count3."' size=5 value='0.0' /></td>"; 
echo "<td><input type='text' name='".$count4."' size=5 value='0.0' /></td>"; 
echo "</tr>"; 
$count1++; 
$count2++; 
$count3++; 
$count4++; 
} 
echo "</table>"; 
echo "<input type='submit' value='Submit' />"; 
echo "</form>"; 

在操作页面:

$count=1; 
$count1=100; 
$count2=200; 
$count3=300; 
$count4=400; 

function addtwo($a = 0.0 , $b = 0.0 , $c = 0.0) 
    { 
      return ($a + $b + $c); 
    } 

while($row1 = mysql_fetch_array($result1)) 
{ 
    $id[$count] = $_POST['$count1']; 
    $mt[$count] = $_POST['$count2']; 
    $pr[$count] = $_POST['$count3']; 
    $fi = $_POST['$count4']; 
    $tot[$count] = addtwo($mt[$count]+$pr[$count]+$fi); 
    echo $fi; 
    mysql_query("INSERT INTO Marks (ID, Name, MidTerm, Project, Final, Total) 
    VALUES ('$id[$count]', 'EMPTY', '$mt[$count]', '$pr[$count]', '$fi', '$tot[$count]')"); 
    $count++; 
    $count1++; 
    $count2++; 
    $count3++; 
    $count4++; 
    } 

的问题仍然是相同的。数据不能被插入到数据库中。 我通过使用echo语句打印每一行,我finaaly发现,当我打印$ _POST的语句它不打印任何东西(如你可以看到在代码中有回声$ fi)

回答

0

我会猜测ID被定义为键,所以你不能插入具有相同ID的另一行。当我的猜测是正确的,使用INSERT....ON DUPLICATE KEY UPDATE

但是,每当INSERT失败,mysql_error()可以告诉你为什么,所以你应该问它。