2016-08-26 185 views
0

我試圖做一個刪除鏈接,當我點擊它時,它會從給定ID的sql表中刪除一行,它應該像這樣,但它不工作,請你拿看看我的代碼並告訴我我做錯了什麼,謝謝!從表中刪除一行

這是什麼鏈接,當我點擊歸檔它應該刪除該行。

echo '<td><a href="archivenews.php?newsid='. $row['ID'] .'">Arhiviraj</a>/<a href="archivenews.php?newsid='. $row['ID'] .'">Obrisi</a></td>'; 

,這是archivenews.php

<?php 
    session_start(); 
    require('konektor.php'); 

    if(!(isset($_SESSION["login"]) && $_SESSION["login"] == "OK")) 
    { 
     header("Location: index.php"); 
     exit; 
    } 
    else 
    { 
     $id = $_GET['newsid']; 
     $query = "DELETE FROM `Oglasi` WHERE `ID` = '$id'"; 
     header("Location: oglasi.php"); 
    } 
?> 

謝謝先進!

+1

1。您只要聲明一個變量用SQL查詢...但你永遠不會執行它......並使用準備好的查詢..閱讀關於sql注入 –

+1

你只是在'$ query'變量中定義一個查詢,你沒有執行它,所以什麼也沒有發生。並且'請看一下SQL注入,你有使用這個代碼的危險'。 – Paul

+1

謝謝,我現在正在學習準備好的語句:) – Nathanus

回答

0

'header(「Location:oglasi.php」); ' -

mysql_query($query); 

您需要對數據庫和mysql_query()執行查詢。

所以,你的代碼成爲─

<?php 
session_start(); 
require('konektor.php'); 

if(!(isset($_SESSION["login"]) && $_SESSION["login"] == "OK")) 
{ 
    header("Location: index.php"); 
    exit; 
} 
else 
{ 
    $id = $_GET['newsid']; 
    $query = "DELETE FROM `Oglasi` WHERE `ID` = '$id'"; 
    mysql_query($query); 
    header("Location: oglasi.php"); 
} 
?> 

只是爲了檢查該查詢已被執行就在那裏,你也可以做這個 -

<?php 
session_start(); 
require('konektor.php'); 

if(!(isset($_SESSION["login"]) && $_SESSION["login"] == "OK")) 
{ 
    header("Location: index.php"); 
    exit; 
} 
else 
{ 
    $id = $_GET['newsid']; 
    $query = "DELETE FROM `Oglasi` WHERE `ID` = '$id'"; 
    $result = mysql_query($query); 
    if(!$result) 
    { 
     die("Could not archive" . mysql_error()); 
     //This will display any error in the execution of query. 
    } 
    header("Location: oglasi.php"); 
} 
?>