2012-04-30 38 views
2

我使用PHP來顯示我的MySQL數據庫中的表。我認爲它正在工作,但輸出仍然是「錯誤」。我需要刪除一行中的所有記錄。如何刪除使用php和我的sql行

<?php 
    $host="localhost"; // Host name 
    $username="user1"; // Mysql username 
    $password="test123"; // Mysql password 
    $db_name="inventory"; // Database name 
    $tbl_name="avaya_pabx"; // Table name 

    // Connect to server and select databse. 
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB"); 

    $serial_no=$_GET['serial_no']; 

    $sql="DELETE FROM $tbl_name WHERE serial_no='$serial_no"; 
    $result=mysql_query($sql); 

    if ($result) 
    { 
     echo "Deleted Successfully"; 
     echo "<br>"; 
     echo "<a href='avayatable.php'> Back to main page </a>"; 
    } 
    else 
    { 
     echo "ERROR!"; 
     // close connection 
     mysql_close(); 
    } 
?> 
+0

讓您輕易地確定SQL錯誤。嘗試在代碼中使用 或死(mysql_error()) 。 :) – prukuhkoo

+0

@prukuhkoo或die()不是一個很好的編程習慣。 http://www.phpfreaks.com/blog/or-die-must-die –

+0

@BrendonDugan是的。我同意。我的意思是,如果它將用於開發階段,絕對不是在生產階段。對於那個很抱歉。 – prukuhkoo

回答

3

您還沒有關閉的單引號

複製這行代碼:

$sql="DELETE FROM $tbl_name WHERE serial_no='$serial_no'"; 
4

我覺得這是你的問題

$sql="DELETE FROM $tbl_name WHERE serial_no='$serial_no"; 

有沒有收單引號。您需要

$sql="DELETE FROM $tbl_name WHERE serial_no='$serial_no'"; 

如果你想顯示錯誤(有助於調試很多),使用mysql_error()

+0

請結帳我類似這個問題http://stackoverflow.com/questions/32237526/php-not-deleting-row-in-mysql?noredirect=1#comment52359062_32237526 –