2016-11-28 24 views
3

我試着用下面的代碼:PHP的MySQL不打印標點顯示語法錯誤

$sql = "delete * from MyGuests"; 

這是顯示錯誤:錯誤: 您在您的SQL語法錯誤刪除*從MyGuests;請檢查與您的MySQL服務器版本對應的手冊,以便在第1行'* from MyGuests'附近使用正確的語法。 同樣,>,!,'作爲代碼的一部分顯示與該特殊字符相同的語法錯誤向前。 這是整個代碼。

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$conn = mysqli_connect($servername, $username, $password); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 
// Create database 
$db_selected = mysqli_select_db($conn,'my_db'); 
$sql = "delete * from MyGuests"; 

if (mysqli_query($conn, $sql)) { 
echo "Table truncated"; 
} else { 
echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
mysqli_close($conn); 

我試圖使用

$sql="truncate table MyGuests"; 

if (mysqli_query($conn, $sql)) { 
echo "Table truncated"; 
} else {...} 

塊顯示「表截斷」,但是當我顯示的表中,所有的數據變成了一直保持,並且顯示出。我該如何處理截短和傳遞標點符號/特殊字符而不會出現語法錯誤。

+2

刪除'*'。只是'從...刪除' –

+0

使用'$ sql =「從MyGuests刪除」;' –

+0

謝謝。這工作。但是這仍然不能解決如何傳遞特殊字符的更大問題。我有一個名爲comments的字段,如果用戶輸入的話!或'作爲評論的一部分,則會出現語法錯誤。此外爲什麼截斷不工作。 –

回答

0

DELETE語法是一個沒有星號

例如:

DELETE FROM MyGuests 

用法也可以參閱here ith一些示例

+0

謝謝。這工作。但是這仍然不能解決如何傳遞特殊字符的更大問題。我有一個名爲comments的字段,如果用戶輸入的話!或'作爲評論的一部分,則會出現語法錯誤。此外爲什麼截斷不工作。 @Koustav雷 –

1

DELETE FROM MyGuests WHERE 1 或者乾脆 DELETE FROM MyGuests

這是你如何寫,刪除查詢.. :)