2017-09-07 49 views
-1

,當我想創建一個PHP腳本來從我的mysql數據庫中刪除某一行,但它表明錯誤刪除

錯誤刪除記錄:表「test.school」不存在。

<?php 
    $servername="localhost"; 
    $username="root"; 
    $password=""; 
    $dbname="test"; 
    $conn= new mysqli($servername,$username,$password,$dbname); 

    if($conn->connect_error) 
    { 
    die("connection failed:".$conn->connect_error); 
    } 
    $sql="DELETE from school where rno='5'"; 
    if($conn->query($sql)===TRUE) 
    { 
    echo "Record deleted successfully"; 
    } 
    else 
    { 
    echo "error deleting record:".$conn->error; 
    } 
    $conn->close(); 
    ?> 
+4

錯誤很明顯。在你的數據庫中沒有'school'測試' – Qirel

+0

其實在我的數據庫'test'中確實有一個'school'表 –

+0

你是連接到正確的DB然後@Khushboosharma?你有2個地方託管數據庫 - 並且連接到具有該表和PHP腳本的服務器正在查看另一個服務器。 – ajtrichards

回答

0

嘗試直接從您的SQL客戶端(PhpMyAdmin,Workbench或類似的東西)運行查詢,如果有效,那麼您的連接出現問題。

這發生在我身上之前,我所做的只是導出數據庫/表,然後從我的客戶端刪除它,然後重新添加數據庫/表。它通常會自行解決(也許該表沒有正確保存到數據庫或其他東西)。

檢查表是否已被客戶端「重命名」,如可能是在表的名稱的開頭添加了額外的空間或類似的東西。

1
if($conn->connect_error) 
{ 
die("connection failed:".$conn->connect_error); 
} 
$sql="DELETE from school where rno='5'"; 
$query = mysqli_query($conn, $sql); 
if($query) 
{ 
    echo"Deleted Successfully.."; 
} 
else 
{ 
echo"Failed.."; 
} 

試試這個,也許這一個會爲你工作。

+1

爲什麼任何人都應該「*試試這個*」?你改變了什麼?爲什麼這會工作?僅僅因爲你使用程序而不是OOP?總是解釋你的答案,不要只是轉儲代碼。 – Qirel

+0

原來,它確實有效!正如你可以看到這個答案被接受。但下次我會記住這一點。乾杯! –

+0

你仍然應該編輯你的答案,並解釋*爲什麼*這個解決方案,所以它對其他讀者更有用:-) – Qirel