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

    Problema con Insert & Update

    Salve,
    ho un problema nel far funzionare uno scritp che dovrebbe fare le seguenti operazioni:
    - Nel caso in cui $id è == 1 allora "aggiorna" la riga;
    - Altrimenti se la riga con Id 1 non esiste la crea con i dati che gli passo dal form.
    <?
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    mysql_select_db($db_name, $db)
    if ($id == 1) {
    $query = "UPDATE user SET NomeSito = '$NomeSito', NomeCliente = '$NomeCliente', CognomeCliente = 'CognomeCliente', Email = 'Email', Sito = '$Sito', Password = '$Password' WHERE id='1'";
    }
    else{
    $query = "INSERT INTO user (`NomeSito`, `NomeCliente`, 'CognomeCliente', 'Email', 'Sito', 'Password') VALUES ('$NomeSito', '$NomeCliente', '$CognomeCliente', '$Email', '$Sito', '$Password') WHERE id='1'";
    }
    if (mysql_query($query, $db))
    header("Location: http://");
    exit;
    mysql_close($db);
    ?>

    Dove sta l'errore?
    Grazie!

  2. #2
    Piu' di uno...

    manca un punto e virgola dopo la selezione del db

    Devi fare un SELECT per vedere se c'e' l'id 1

    L'INSERT non vuole il WHERE

    exit; .... dopo c'e' il nulla....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ho provato cosi ma non funziona.
    <?
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    mysql_select_db($db_name, $db);
    if ($id == 1) {
    $query = "UPDATE user SET NomeSito = '$NomeSito', NomeCliente = '$NomeCliente', CognomeCliente = 'CognomeCliente', Email = 'Email', Sito = '$Sito', Password = '$Password' WHERE id='1'";
    }
    else{
    $query = "INSERT INTO user (`NomeSito`, `NomeCliente`, 'CognomeCliente', 'Email', 'Sito', 'Password') VALUES ('$NomeSito', '$NomeCliente', '$CognomeCliente', '$Email', '$Sito', '$Password')";
    }
    if (mysql_query($query, $db))
    header("Location: http://");
    exit;
    mysql_close($db);
    ?>

    Me lo potresti scrivere corretto te?
    Grazie.

  4. #4
    first and last...
    codice:
    <?
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    mysql_select_db($db_name, $db);
    
    $check = "SELECT COUNT(*) FROM USER
              WHERE id = '$id' )";
    
    $res = mysql_query($check, $db) OR DIE(mysql_error());
    $row = mysql_fetch_row($res);
    
    if ($row[0] == 1) {
    
    $query = "UPDATE user SET
              NomeSito = '$NomeSito', NomeCliente = '$NomeCliente',
              CognomeCliente = '$CognomeCliente', Email = '$Email',
              Sito = '$Sito', Password = '$Password' WHERE id = '1' ";
    } elseif ($row[0] == 0) {
    
    $query = "INSERT INTO user
             (`NomeSito`, `NomeCliente`, 'CognomeCliente', 'Email', 'Sito', 'Password')
             VALUES
             ('$NomeSito', '$NomeCliente', '$CognomeCliente', '$Email', '$Sito', '$Password')";
             }  else {
                        echo "operazione non eseguita";
                        exit;
                     }
    
    if (mysql_query($query, $db) == 1)  {
           header("Location: http://");
           exit;
           }  else  { echo "Attenzione!!! variazione non eseguita";   }
           
    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Buongiorno!
    Mi da come 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 2"

    Sai da cosa può dipendere?

  6. #6
    codice:
    (NomeSito, NomeCliente, CognomeCliente, Email, Sito, Password)
    togli tutte le fregnacce attorno al nome del campo. ho copiato e incollato la tua stringa e se noti hai delle apici e backquote. Gli apici non ci vogliono.

    Ma credimi che stai facendo una cosa inutile a fartelo scrivere da altri. Lo script devi farlo tu.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Ho risolto diversamente da solo.
    Ho impostato il file di installazione in modo che oltre a creare la tabella crea anche la prima riga del DB. Io dovendo lavorare esclusivamente sulla riga con ID 1 a questo punto non ho più nessun bisogno di controllare se è già inserita e vado sicuro nel modificarla.

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.