2012-07-29 37 views
-1

後insect /刪除/更新我不得不手動更新頁面,直到我看到結果..爲什麼?我怎樣才能解決這個問題我的MySQL表不會刷新怎麼辦

if (isset($_POST['action']) && $_POST['action']=='submitted') { 
if (isset($_POST['update'])) { 
    $selected = $_POST['selected']; 
    for ($i=0; $i<$columncount;$i++){ 
    $value[$i] = $_POST[$name[$i]]; 
    foreach ($selected as $j) 
    mysql_query ("UPDATE $tablename set $name[$i]='".$value[$i][$j]." 'WHERE $name[0]=".$value[0][$j]);} 
} 

從一種形式的讀表值和更新

+0

仍然沒有得到什麼是問題....什麼ü意味着通過手動更新.... – swapnilsarwe 2012-07-29 17:59:13

+0

檢查爲MySQL查詢的有效性。在執行前打印查詢並嘗試在phpmyadmin或sql控制檯中執行它們。 還檢查您是否正在執行更新查詢之前的選擇查詢 – swapnilsarwe 2012-07-29 17:59:58

回答

0

較明顯SQL injection漏洞只是乞討,讓您的服務器pwn3d其他,你有沒有錯誤的任何處理您的查詢 - 你假設它成功。爲什麼不多花2秒來嘗試處理查詢可能實際上存在語法錯誤的可能性?

$result = mysql_query(...) or die(mysql_error()); 
          ^^^^^^^^^^^^^^^^^^^^^^ 
1

因爲您在顯示錶後更新數據庫。

換句話說,您獲取值,顯示它們,然後更新它們。要解決這個問題,只需將上面的代碼放在表格顯示上方。

+0

我試過了,但說post後的值並不能識別索引,並且根本不會識別它 – user1552802 2012-07-29 18:01:22

+0

這種情況不時發生在我身上,它通常是由您描述的問題引起的。如果頁面在完成一次重新加載後始終顯示更新的值,則很可能發生這種情況。 – octern 2012-07-30 05:39:56

+0

@ user1552802:你的意思是「帖子值無法識別索引」,請更準確一些。這是一個PHP錯誤? – 2012-08-01 22:30:54

0

試試這個。希望它會工作

mysql_query ("UPDATE ".$tablename." set ".$name[$i]."='".$value[$i][$j]."' WHERE ".$name[0]."='".$value[0][$j]."';");}