2013-04-11 48 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