2013-04-11 60 views
6

表我想要清除所有條目從一個表中的MySQL和PHP 條目我嘗試這樣做:清除所有從PHP

<?php 
// Create connection 
     $con=mysqli_connect("localhost","username","password","dbName"); 

// Check connection 
     if (mysqli_connect_errno($con)) 
     { 
      echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     }  

    $sql = "TRUNCATE TABLE tableName"; 
    mysqli_query($sql); 
?> 

,但沒有奏效。爲什麼?

+0

它給出了什麼錯誤? – 2013-04-11 11:26:19

+0

你能否提供一些有關PHP提供的MySQL錯誤消息的細節? – Kieran 2013-04-11 11:26:40

+1

而且,在你使用'mysqli'和'mysql'的一半代碼中,爲什麼? – 2013-04-11 11:27:49

回答

6

這是一個錯字。您使用mysql_query()而不是mysqli_query()。更改

mysql_query($sql); 

到:

mysqli_query($con, $sql); 

還要注意的是這兩者的功能帕拉姆名單不同。因爲它是第一個參數,因此連接句柄爲mysqli_expects()

+0

不錯,趕上 – 2013-04-11 11:29:10

+0

@ hek2mgl:它不起作用。 說:調用參數類型與聲明不兼容。 – AshKan 2013-04-11 11:50:55

+0

@MahKh對不起,我的錯。檢查我的更新 – hek2mgl 2013-04-11 11:52:35

-1

首先檢查是否有任何可能給出線索的錯誤消息,但有一些限制可能會妨礙TRUNCATE的正常工作。還要確保它不是在你的問題中使用mysql/mysqli函數的錯字。

如果表不是很大,或者性能並不重要,然後簡單地嘗試:

$sql = "DELETE * FROM tableName"; 
+1

性能不是唯一的區別刪除和截斷 – Vimalnath 2013-04-11 11:32:04

2

使用「mysqli的」創建連接後,您要刪除「DBNAME」的所有記錄使用mysql_query。

更改代碼類似,

<?php 
    // Create connection 
    $con=mysqli_connect("localhost","username","password","dbName"); 
    // Check connection 
    if (mysqli_connect_errno($con)) 
    { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    }  
    $sql = "TRUNCATE TABLE tableName"; 
    mysqli_query($con, $sql) or die(mysqli_error()); 
?> 

看看這個作品,讓我知道。

+0

它的工作,但沒有死(mysqli_error()); – AshKan 2013-04-11 12:15:45