2013-04-11 14 views
6

chcę, aby usunąć wszystkie wpisy z jednej tabeli w MySQL z PHP Próbowałem to:usuń wszystkie wpisy z tabeli z 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); 
?> 

ale to nie działa. czemu?

+0

czy daje jakiś błąd? –

+0

Czy możesz podać kilka szczegółów na temat komunikatów o błędach dostarczonych przez PHP MySQL? – Kieran

+1

Co więcej, w pół kodu używasz 'mysqli', a następnie' mysql', dlaczego? –

Odpowiedz

6

To jest literówka. Zamiast mysqli_query() użyłeś: Zmień

mysql_query($sql); 

do:

mysqli_query($con, $sql); 

Należy również pamiętać, że wykazy param obu funkcji różnią. mysqli_expects() uchwyt połączenia, ponieważ jest to pierwszy parametr.

+0

fajny połów tam –

+0

@ hek2mgl: to nie działa. mówi: typy parametrów wywołania nie są zgodne z zadeklarowanymi. – AshKan

+0

@MahKh Przepraszam, moja wina. Sprawdź moją aktualizację – hek2mgl

-1

Najpierw sprawdź komunikaty o błędach, które mogą dać wskazówkę, istnieją pewne ograniczenia, które mogą uniemożliwić działanie TRUNCATE. Upewnij się również, że to nie jest literówka z funkcjami mysql/mysqli, jak w pytaniu.

Jeśli tabela nie jest ogromny, a wydajność nie jest krytyczna, a następnie po prostu spróbuj:

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

wydajność nie jest jedyną różnicą między usuwanie i obcięcie – Vimalnath

2

Po utworzeniu połączenia za pomocą „mysqli”, staramy się usunąć wszystkie rekordy w „dbname” za pomocą mysql_query.

Zmień kod do czegoś podobnego,

<?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()); 
?> 

sprawdzić, czy to działa i daj mi znać.

+0

działa, ale bez matrycy (mysqli_error()); – AshKan

Powiązane problemy