Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    prepared statment con select/like

    Non riesco a trovare la sintassi per fare una query prepared statment che usi la select/like
    io ho scritto questo;
    Codice PHP:
     $query "SELECT id, cognome, nome FROM utente " 
                 
    "WHERE nome like % ? %";             
    if (
    $stmt $mysqli->prepare($query)) {

            
    $stmt->bind_param("s""fabio");
    } echo 
    $mysqli->error
    ma ho quest'errore:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '% ? %' at line 1
    Codice PHP:
    ho provato anche mettendo gli apici ma niente da fare

     $query 
    "SELECT id, cognome, nome FROM paziente " 
                 
    "WHERE cognome like '% ? %'"

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    se non metto il segno di percentuale non mi viene resitituito errore e funziona

    Codice PHP:
    $query "SELECT id, cognome, nome FROM utente WHERE nome like  ? "
    ma i risultati che mi restituisce sono uguali a questa query:

    Codice PHP:
    $query "SELECT id, cognome, nome FROM utente WHERE nome =  ? "
    quindi non va bene perchè io vorrei usare l'operatore like, in modo tale che se cerco 'mann', mi viene trovato tutto ciò che contiene mann:

    mannelli
    mannetti
    giamann

    ecc...

  3. #3
    Prova cosi:
    Codice PHP:
    $query "SELECT id, cognome, nome FROM utente " .
                 
    "WHERE nome like ? ";            
    if (
    $stmt $mysqli->prepare($query)) {

            
    $stmt->bind_param("s""%fabio%");
    } echo 
    $mysqli->error
    Artechbrand.it: Realizzazione siti E-commerce -
    Trova il miglior prezzo con Prezzolandia.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Artech, la tua idea non ha funzionato, questo è il messaggio di errore:

    Fatal error: Cannot pass parameter 2 by reference

    con google non riesco a trovare uno straccio di esempio

  5. #5
    OK, penso basti sdoppiare la riga e usare una variabile,
    come in questo articolo: http://devzone.zend.com/article/686
    Codice PHP:
    $query "SELECT id, cognome, nome FROM utente " .
                 
    "WHERE nome like ? ";            
    if (
    $stmt $mysqli->prepare($query)) {
        
    $stmt->bind_param("s"$code);
        
    $code "%fabio%"
    } echo 
    $mysqli->error
    Artechbrand.it: Realizzazione siti E-commerce -
    Trova il miglior prezzo con Prezzolandia.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    perfetto, funziona, grazie mille

  7. #7
    Mettendo
    codice:
    Where nome like "%mann%"
    Non va? :master:

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.