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

    confrontare stringa con risultato di una query

    Ciao,
    devo fare in modo che immettendo una stringa in un form, questa venga inserita nel database.
    Fin qui ci sono, ho creato la query INSERT e funziona perfettamente (inserisce quello che scrivo nel form).

    Ora voglio impedire che il record venga inserito se la stringa esiste già nel database.

    Codice PHP:
    $siteurl $_POST['siteurl'];
    $query "SELECT * FROM `siti` WHERE `siteurl` = \"" $siteurl "\" LIMIT 0, 30";
    $controllo = (mysql_query($query$database)); 
    questa query dovrebbe trovarmi tutti i record che hanno nel campo SITEURL della tabella SITI la stringa inserita nel form.
    Infatti da MYSQL funziona.

    Ora, voglio confrontare la stringa immessa nel form col risultato della query. Come posso fare?

    ...aiutatemi, please!

  2. #2
    Ce l'ho fatta da solo, era abbastanza semplice:

    Codice PHP:
    $dato=mysql_fetch_array($controllo);
    if (
    $dato['siteurl']==$siteurl) {
    echo 
    "esiste";
    }else { echo 
    "non esiste";} 
    che bello riuscire a far le cose, le funzioni che funzionano


  3. #3
    La prossima volta puoi anche usare una query del tipo
    SELECT COUNT(*) as num FROM tabella WHERE testo = '$stringa' [ecc...]

    poi ti prendi il valore di num e con un if vedi se è maggiore di zero...

    ps: la tua soluzione va cmq benissimo, era solo per darti uno spunto in più
    Meglio essere folle per proprio conto che saggio con le opinioni altrui.
    F. Nietzsche

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Non fai prima a mettere un indice unique sulla colonna, e far eventualmente fallire la insert? Risparmi query e mi sembra una soluzione un pelo piu' elegante.
    There are 10 types of people in the world - those who understand binary and those who don't.

  5. #5
    @carlowoo85, il tuo spunto è molto interessante. Anche se lascerò così il controllo, la prossima volta ho a disposizione un metodo in più. Grazie!!

    @frinkia, i consigli sono sempre i benvenuti, però se vuoi che siano compresi (almeno da me) devi sforzarti a scrivere due righe in più... ricorda che stai parlando con uno che non sapeva come controllare se un record esiste nel DB!!!

    Indice Unique vuol dire che se tento una INSERT con un dato già presente, fallisce (perchè ogni record è appunto Unico)? SEMPRE E COMUNQUE? E' come fare il controllo a manina?

    Se le cose stanno così effettivamente è una soluzione molto conveniente.

    EDIT: mi sa che non posso...
    #1170 - La colonna 'siteurl' di tipo BLOB e` usata in una chiave senza specificarne la lunghezza
    Essendo una stringa che rappresenta un URL inserito dall'utente, non ho modo di sapere in anticipo quant'è lunga

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.