2013-04-11 14 views
6

voglio cancellare tutte le voci da una tabella in MySQL con PHP ho provato questo:chiare tutte le voci da una tabella con 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); 
?> 

ma non ha funzionato. perché?

+0

Dà qualche errore? –

+0

Potresti fornire alcuni dettagli sui messaggi di errore forniti da PHP di MySQL? – Kieran

+1

e inoltre, nel mezzo codice stai usando 'mysqli' e quindi' mysql', perché ?? –

risposta

6

Questo è un errore di battitura. Hai usato mysql_query() invece di mysqli_query(). Cambia

mysql_query($sql); 

a:

mysqli_query($con, $sql); 

Si noti inoltre che le liste param di entrambe le funzioni sono diverse. mysqli_expects() una connessione gestisce come primo parametro.

+0

bella cattura ci –

+0

@ hek2mgl: non funziona. dice: I tipi di parametri di chiamata non sono compatibili con dichiarato. – AshKan

+0

@MahKh Scusa, colpa mia. Controlla il mio aggiornamento – hek2mgl

-1

In primo luogo verificare la presenza di eventuali messaggi di errore che possono dare un indizio, ci sono alcune restrizioni che possono impedire TRUNCATE da lavorare. Assicurati anche che non sia un refuso con le funzioni mysql/mysqli come nella tua domanda.

Se la tabella non è enorme, o le prestazioni non è critica, allora semplicemente provare:

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

prestazioni non è l'unica differenza tra eliminare e troncare – Vimalnath

2

Dopo aver creato una connessione utilizzando "mysqli", si sta cercando di eliminare tutti i record di "dbName" usando mysql_query.

Modificare il codice a qualcosa di simile,

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

vedere se questo funziona e fammi sapere.

+0

funziona ma senza morire (mysqli_error()); – AshKan

Problemi correlati