Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    Problema con query di controllo

    Ciao a tutti!
    ho un problema , devo effettuare un ciclo if, che contrlla se l'ugualianza di due valori. Uno di essi lo prelevo dal mio db tramite questa query

    $query = @mysql_query("SELECT id,objdd FROM tabella WHERE objdd='".$id."'");
    if (!$query) {
    exit('

    Errore prelevazione dati dal database' . mysql_error() . '</p>');
    }
    while ($row = mysql_fetch_array($query)) {
    $obj = $row['objdd'];
    $rid = $row['id'];
    }
    if ($obj==$id) {

    ma non funziona...è sbagliata la query ?

  2. #2
    No, è sbagliato il concetto...
    Se già nella query cerchi i record che hanno objdd = 654, che ti serve controllare dopo se 654 (objdd) == 654 ($id)?

  3. #3
    Comunque sia la if di controllo va dentro al ciclo while

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    quello che dovrebbero fare le due query è verificare se esiste già un campo objdd e se esiste allora, lo aggiorna con UPDATE altrimenti lo inserisce INSERT

  5. #5
    Codice PHP:
    $query = @mysql_query("SELECT id, objdd FROM tabella WHERE objdd = '".$id."'");
    if (!
    $query) {
        exit(
    '

    Errore prelevazione dati dal database' 
    mysql_error() . '</p>');
    }
    if (
    mysql_num_rows($query) == 0) {
        
    // INSERT
    } else {
        
    // UPDATE

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Originariamente inviato da james81
    quello che dovrebbero fare le due query è verificare se esiste già un campo objdd e se esiste allora, lo aggiorna con UPDATE altrimenti lo inserisce INSERT
    E fare insert, on duplicate key update?

    http://www.mrwebmaster.it/mysql/arti...date_1020.html

    Ciao!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    un consiglio:
    ho prelevato da un vecchio script (che utilizza la classi) questa query:

    $query = "INSERT INTO tabella (".implode(",",array_keys($fields)).") VALUES (";
    $first = true;
    foreach ($fields as $key=>$value) {
    if (!$first) {
    $query .= ",";
    } else {
    $first = false;
    }
    if (is_numeric($value)) {
    $query .= $value;
    } else {
    $query .= $database->Quote($value);
    }
    }
    $query .= ") ";
    $database->setQuery($query);
    $database->query($query);

    che vorrei adattare al mio caso..ma senza successo

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.