Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Questa misteriosa mysql_num_rows()

    Bhe, mi dà ancora problemi. Posto prima l'errore e poi il codice

    ERRORE

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in f:\web\http://www.crespigioielli.it\adminis...delete.inc.php on line 29


    CODICE

    codice:
    24 if (isset($_GET["id_materiale"]))
    25   {
    26      $materiale_id = $_GET["id_materiale"];
    27 	 //$query = "SELECT prodotto_materiale WHERE prodotto_materiale = $materiale_id";
    28 	 $result = mysql_query("SELECT * WHERE prodotto_materiale = $materiale_id",$db);
    29 	 $num_rows = mysql_num_rows($result);
    30	 
    31 	 if ($num_rows > '0')
    32 	   {
    33 	      echo 'Ci sono prodotti di questo materiale nel DB';
    	   }
    	 else
    	   {
    	      delete_materiale($materiale_id);
    	   }
      }
    else
      {
         echo 'ID materiale assente';
      }
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #2
    La cosa strana, comnque, è che, nonostante il controllo dell'if cancella comunque!!!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Nessun mistero. La query fallisce e l'id resource è false.

    Poi fai il delete incurante del risultato negativo e se c'è lo cancella. La prova?

    $result = mysql_query("SELECT * WHERE prodotto_materiale = $materiale_id",$db) or die(mysql_error());

    l'errore?

    WHERE prodotto_materiale = '$materiale_id'
    mancano le apici a $materiale_id.


  4. #4
    No, mi dispiace contraddirti ma non funziona. Anzi, ho provato a cancellare con phpmyadmin e a vedere la query. Il risultato di varie prove per "costruire" la query è qesto:

    $query = "SELECT * FROM `catalogo_prodotti` WHERE `materiale_id` = '$materiale_id'";

    Per errore, però, all'inizio avevo messo invece di catalogo_prodotti catalogo_materiali. Tutto funziona alla perfezione.
    Ora, siccome, nella tabella catalogo_prodotti non ci sono record non sarà quello l'errore?
    Ho provato ad inserire un prodotto all'interno della tabella e tutto funziona correttamente!
    Il nuovo dubbio è qindi questo:
    come faccio ad evitare l'errore nel caso in cui non ci siano prodotti nel catalogo?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Mi pare sia esattamente quello che ti ho postato, ma tant'è, pensala come ti pare.

    Se non ci sono righe estratte, non da errore, ma zero righe. Mettici una IF e fai un controllo.


  6. #6
    Mi sono sbagliato.
    Dà di nuovo errore
    Ho fatto come dici tu!
    Ma non c'è un modo per sapere cosa esattamente è sbagliato?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  7. #7
    Ora dovrei aver risolto definitivamente

    codice:
    if (isset($_GET["id"]))
      {
         $materiale_id = $_GET["id"];
    	 $query = "SELECT prodotto_materiale FROM catalogo_prodotti WHERE prodotto_materiale = $materiale_id";
    	 $result = mysql_query($query);
    	 if (mysql_num_rows($result) > 0)
    	   {
    	      echo "Ci sono ancora prodotti di questo materiale nel DB";
    	   }
    	 else
    	   {
    	      delete_materiale($materiale_id);
    	   }
      }
    else
      {
         echo 'ID materiale assente';
      }
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    l'errore dovrebbe essere qui:

    31 if ($num_rows > '0')

    da convertire in

    31 if ($num_rows > 0)

  9. #9
    Guarda, si, può darsi ma ci sono su da così tanto tempo che ormai non ho più voglia di vedere dov'è l'errore. Funziona e questo è l'importante. Tra qualche giorno ci ritorno e cerco di vedere dov'era l'errore! :master:
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da pierotto
    $result = mysql_query("SELECT * WHERE prodotto_materiale = $materiale_id",$db) or die(mysql_error()) ;
    Usa sempre questa forma quando lanci una query.
    Quello che ha scritto lovenookie non c'entra niente (definizione eufemistica).

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 © 2024 vBulletin Solutions, Inc. All rights reserved.