Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    38

    Record cancellato ma errore nel codice PHP

    Buongiorno a tutti,
    da pochissimo ho incominciato a studiare PHP, ho conoscenza di database relazionali, html e sql.
    Ho creato un db chiamato massimo con phpmyadmin su cui faccio le mie prove.
    Molto semplicemente ho imparato ad connettermi al db, leggerlo e adesso volevo imparare a cancellare dei record.
    Curiosamente i record vengono cancellati ma nella php mi compare una scritta di errore, qual'è il problema?

    Questo è il codice

    <?php
    $cn = mysqli_connect("localhost", "root", "", "massimo");
    $query = mysqli_query($cn, "SELECT * FROM tbl_anagrafica WHERE citta <> ''");
    $querydel = mysqli_query($cn, "DELETE FROM tbl_anagrafica WHERE citta = 'torino'");
    $quanti = mysqli_num_rows($query);
    $quantidel = mysqli_num_rows($querydel);
    echo "sono stati eliminati " . $quantidel . " record!" . "<br><br>";
    if ($quanti == 0)
    {
    echo "Nessun record!";
    }
    else
    {
    for($x=0; $x<$quanti; $x++)
    {
    $rs = mysqli_fetch_row($query);
    $nome = $rs[0];
    $cognome = $rs[1];
    $citta = $rs[2];
    echo "Nome : " . $nome . "<br>";
    echo "Cognome : " . $cognome . "<br>";
    echo "Citta' : " . $citta . "<br><br>" ;
    }
    }
    mysqli_close($cn);
    ?>

    e questo è l'errore

    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\massimo\esempio.php on line 6

    Ribadisco la mia "quasi" ignoranza in materia essendo autodidatta alle prime armi.

    Grazie dell'aiuto

    Massimo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    myslqi_num_rows() funziona solo con query SELECT, per sapere l'esito di query DELETE devi usare la funzione mysqli_affected_rows().

    P.S.: quando posti del codice, mettilo tra i tag [php] così puoi indentarlo e mantiene la colorazione della sintassi.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    38
    Ciao
    prima di tutto grazie dell'aiuto.
    Ho fatto come hai detto tu ma il messaggio di errore persiste ma curiosamente i record vengono eliminati regolarmente:
    Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\massimo\esempio.php on line 6Perdonami ma non ho capito come postare il codice mantenendo la colorazione e la sintassi

    Grazie

    Massimo

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Alla funzione mysqli_affected_rows() devi passare la variabile contenente la connessione, quindi $cn, tu sicuramente gli stai passando $querydel.

    Leggi la documentazione delle funzioni che usi e non conosci, non dare per scontato i parametri che devi passargli.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    38
    Grazie mille ora funziona!
    Credimi non do per scontato nulla e mi sono guardato anche la guida ma non riuscivo a venirne a capo.
    Avevo capito che era un problema di parametro ma non pensavo a quello

    Posso chiederti quale libro mi suggeriresti per imparare e migliorare le mie competenze in php mysql?

    Grazie

    Massimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.