Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Il problema, secondo me, è che il NULL di php ('', 0 o null) lo devi convertire nella stringa NULL da inserire nella query (che poi verrà interpretata come NULL da dbms). L'unica soluzione che mi viene in mente è questa:

    Codice PHP:
    $codice=(trim($_POST['codice_libro'])) ? "'".$_POST['codice_libro']."'" 'NULL';
    $utente=(trim($_POST['utente'])) ? "'".$_POST['utente']."'" 'NULL';

    SELECT *
    FROM  my_libri
    WHERE
        codice_libro 
    IFNULL($codicecodice)
    AND 
    utente IFNULL($utenteutente
    Ma a questo punto tanto vale scrivere:

    Codice PHP:
    $codice=(trim($_POST['codice_libro'])) ? "'".$_POST['codice_libro']."'" 'codice';
    $utente=(trim($_POST['utente'])) ? "'".$_POST['utente']."'" 'utente';

    SELECT *
    FROM  my_libri
    WHERE
        codice_libro 
    $codice
    AND utente $utente 
    Oppure, se ho capito le tue intenzioni, puoi costruirti la query dinamicamente:

    Codice PHP:
    $condition '1=1 ';

    if(
    trim($_POST['codice_libro'])){
        
    $condition " AND codice_libro='"$_POST['codice_libro'] ."'";
    }
    if(
    trim($_POST['codice_libro'])){
        
    $condition " AND utente ='"$_POST['utente'] ."'";
    }

    SELECT *
    FROM my_libri
    WHERE $condition 
    PS: In ogni caso andrebbe fatto l'escape di $_POST['utente'] e $_POST['codice_libro']
    Ultima modifica di boots; 06-09-2016 a 11:57

Tag per questa discussione

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.