2013-07-11 40 views
-1

我想知道爲什麼這段代碼不起作用?該按鈕執行正確的確認序列,但該記錄實際上並未被刪除。我複製並粘貼了工作按鈕中的代碼,並且我認爲在轉移中我錯過了指定詳細信息的情況?刪除功能不起作用?

if (isset($_GET['deleteseries'])) { 
    echo 'Do you really want to delete ' 
     . $_GET['series'] 
     . '? <a href="editstock.php?yesdelete=' 
     . $_GET['id'] 
     . '">Yes</a> | <a href="editstock.php">No</a>'; 
    exit(); 
} 

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='%s' LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    header("location: editstock.php"); 
    exit(); 
} 

使用此按鈕:

<input name="deleteseries" 
    type="button" id="deleteseries" 
    value="delete" 
    style="width:20%; float:right" 
    onclick="window.location.href = '?deleteseries=delete&id=<?php echo $row_seriesrecordset['id']; ?>&series=<?php echo $row_seriesrecordset['series']; ?>'"/> 
+0

聽起來像一個數據庫錯誤,而不是一個PHP的。你是否迴應了mysql錯誤? – Meiyoki

+0

錯誤通常會產生迴響,但是這個回到頁面時並沒有刪除...你是否希望我粘貼工作按鈕,以便看到我的錯誤? – user2562865

+0

你試過調試輸出'$ deleteSQ'嗎? – urzeit

回答

0

試試這個:

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='%s' LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    echo "deleted entry with ID ".$_GET['yesdelete']; 
    exit; 
    header("location: editstock.php"); 
    exit(); 
} 

它說什麼入口被刪除?也許你通過錯誤的「yesdelete」參數(錯誤的ID)..

+0

沒有...沒有工作只是以前和youre回聲沒有顯示說它已被刪除...什麼是正確的yesdelete參數是什麼? – user2562865

+0

是否因爲我使用了太多相同的信息用於兩個不同的按鈕? – user2562865

+0

如果我粘貼工作按鈕會比較容易嗎? – user2562865

-2

一切都是正確的,只是你在下面的代碼犯了個小錯誤:

if (isset($_GET['yesdelete'])) { 
    $deleteSQL = sprintf("DELETE FROM series WHERE id='. $_GET['yesdelete'] LIMIT 1", 
     GetSQLValueString($_GET['yesdelete'], "int")); 

    mysql_select_db($database_connectmysql, $connectmysql); 
    $Result1 = mysql_query($deleteSQL, $connectmysql) or die(mysql_error()); 
    header("location: editstock.php"); 
    exit(); 
} 
+0

sprintf現在完全錯了。此外,如果字符串正確地形成了,sql注入將是可能的 – schlimpf

+0

謝謝,但它現在說在代碼中有語法錯誤...? – user2562865

+1

-1代碼錯誤 – urzeit