Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    insert soltanto se uno dei request non è presente nei campi di una tabella

    Salve,

    Ho tre variabili request (x, y, z), e devo fare un'inserimento in una tabella soltanto se in quella tabella non è presente nessun campo con uno dei valori recuperati dal request.

    Ho provato di tutto ma non ci riesco.

    Un grazie a tutti quelli che mi risponderanno.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Puoi risolvere con 2 query
    SELECT * FROM tabella WHERE campo='x' OR campo='y' OR campo='z';

    se mysql_affected_rows() > 0 il valore di almeno una tra le variabili x,y,z è già presente nella tabella, altrimenti no e fai l'insert.

  3. #3
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    conosci a priori i campi da confrontare? in questo caso:
    select from tablella where campo1 regexp('$x|$y|$z') or campo2 regexp... e cosi via
    ovviamente puoi fare senza regexp, where (campo1 = '$x' or campo1 = '$y' or campo1='$z') or (campo2 = '$x' or campo2 = '$y' or campo2='$z') ... etc
    poi
    if(mysql_num_rows > 0){
    niente query
    }else{
    query
    }

    se invece non conosci i campi, li esrtai con show columns from tabella, e poi costruisci la query nello stesso modo

  4. #4
    grazie a tutti.... stupidissimo io che non c'ho pensato.

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.