2017-05-22 65 views
-1

我試圖創建一個刪除功能從這個鏈接PHP刪除查詢不起作用

<a href="videogamedatabaseadduserlist.php?function=delete&IndEMail='.$_POST['IndEMail'].'&IdGame='.$row['IdGame'].'">Elimina<a>'.'<BR>' 

開始,這是PHP它應該

if ($_GET['function']== 'delete'){ 
    $conn = new PDO('mysql:host=localhost;dbname=videogamelist', 'root', 'root',array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
    $sql = "delete from lists where IndEmail = :IndEmail and IdGame = :IdGame"; 
    $res_prepare = $conn->prepare($sql); 
    $res_prepare->bindParam(':IdGame',$_GET['IdGame']); 
    $res_prepare->bindParam(':IndEmail',$_GET['IndEmail']); 
    $a=$res_prepare->execute(); 
    echo "Gioco cancellato"; 
} 

互動很多嘗試和後在這個網站搜索我找不到原因查詢不起作用。

+0

什麼錯誤呢它扔? – clearshot66

+0

檢查查詢是否有錯誤'print_r($ conn-> errorInfo());' –

+0

您是否嘗試用該代碼中的參數進行選擇?只是試着用相同的代碼來做。 – vv01f

回答

0

我測試過,它工作!如果這不會爲你工作,檢查DB或形成

try { 
     $conn = new PDO("mysql:host=localhost;dbname=videogamelist", 'root', 'root'); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);; 


     $sql = "DELETE FROM lists WHERE IndEmail = :IndEmail AND IdGame = :IdGame"; 
     $res_prepare = $conn->prepare($sql); 
     $res_prepare->bindParam(':IdGame', $_GET['IdGame'], PDO::PARAM_INT); 
     $res_prepare->bindParam(':IndEmail',$_GET['IndEmail'], PDO::PARAM_INT); 
     $res_prepare->execute(); 

      echo "Deleted"; 
    } 

    catch(PDOException $e) 
    { 
     echo $e->getMessage(); 
     } 

不知道從哪裏$row['IdGame']來自所以我使用的基本形式就是來測試代碼:

<form name="delete" action="test.php" method="get"> 
<input type="text" name="IdGame"> 
<input type="text" name="IndEmail"> 
<input type="submit" name="delete" value="delete" > 
</form>