Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Valeria89
    Registrato dal
    Apr 2015
    residenza
    Pisa
    Messaggi
    129

    Non riesco ad eseguire una query.

    Salve, ho il seguente script:
    Codice PHP:
    <?php
     session_start
    ();
     include (
    "connessione.php"); 
     
     if(isset(
    $_POST['add']))
     {
      
      if(! 
    get_magic_quotes_gpc() )
      {
      
    $name addslashes ($_POST['project_name']);
      
    $cyl addslashes($_POST['cyl']);
      
      
      }
      else
      {
       
    $name $_POST['project_name'];
       
    $cyl =$_POST['cyl'];
       
      }
      if (
    $name == " " )
      {
       
    $_SESSION['form_error'] = 'Mandatory field! Please insert value.';
       
    header("location: errore.php"); 
       
      } 
      else{
    $query "INSERT INTO project_name "."(project_name) "." VALUES ('$name')";
     
    $result mysql_query($query); 
     
    if (!
    $result) { 
     
    $_SESSION['form_error'] = 'Empty field or the table already exists! Please insert value or checking in database.';
    header("location: errore.php");
    }
     }  
      if (
    $cyl == "" )
       {
       
    $_SESSION['form_error'] = 'Mandatory field! Please insert value.';
       
    header("location: errore.php"); 
      } 
      else{
      
    $sql "INSERT INTO tabella"."(Fcyl) "." VALUES
       ('
    $cyl')";
       
      
    mysql_select_db('rail');
      
    $retval mysql_query$sql$cn );
      if(! 
    $retval )
      {
       die(
    'Could not enter data: ' mysql_error());
      }
     
     if (
    $cyl ==1)
       {
       
    header("location: a.php");
      }
      else
       {
       
    header("location: b.php");
      }
     
     }}
     else
     {
      
    /*HTML*/
      
    <?php
    }
    ?>
    Non capisco perchè la seconda query riesco ad eseguirla e la prima no. Per quale motivo secondo voi? Dov'è l'errore? Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Scusa ma è fatta proprio coi piedi.
    Banalmente fai un echo della $query, pastala in un client MySQL e vedi l'errore.

    Magari, già che ci sei, radi al suolo e passa a PDO

  3. #3
    Utente di HTML.it L'avatar di Valeria89
    Registrato dal
    Apr 2015
    residenza
    Pisa
    Messaggi
    129
    Quote Originariamente inviata da MySQL Visualizza il messaggio
    Scusa ma è fatta proprio coi piedi.
    Banalmente fai un echo della $query, pastala in un client MySQL e vedi l'errore.

    Magari, già che ci sei, radi al suolo e passa a PDO
    In che senso è fatta con i piedi? Come devo modificarla?

  4. #4
    E' strano che riesci ad eseguire la seconda query dato che non c'è lo spazio tra tabella e (Fcyl) [ tabella"."(Fcyl) ]

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

  5. #5
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da Valeria89 Visualizza il messaggio
    In che senso è fatta con i piedi? Come devo modificarla?
    ... del tutto...

    Inizierei a pensare a questo (per la tua domanda)
    codice:
    
    
    codice:
    mysql_select_db('rail');
    
    per poi passare alla "sanitizzazione" dei parametri, per arrivare a connessione db ed esecuzione dei comandi
    da qui
    codice:
    if(!isset($_SESSION)) 
        {
            session_start();
        }
    ... a PDO (o mysqli, quello che ti piace di più)
    codice:
        try 
            {
                $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
            } 
            
            catch (PDOException $e) 
            {
                echo "fallimento su handle " . $e->getMessage() . "\n";
                exit;
            }
            
            try
            {
                $statement = $conn->prepare("INSERT INTO qualcosa
                    (campo1,campo2,campo3)   
                    VALUES 
                    (:campo1,:campo2,:campo3");
            }
            catch (PDOException $e) 
            {
    //fai qualcosa
                exit;
            }
            
        
        
            $campo1=1;
    $campo2=2;
    $campo3=3;
    
            $statement->bindParam(':campo1', $campo1);      
    $statement->bindParam(':campo2', $campo2);
    $statement->bindParam(':campo3', $campo3);
            
    
        
            try
            {
                $statement->execute();
        }
            catch (PDOException $e) 
            {
    //fai qualcosa
                exit;
            }

  6. #6
    Utente di HTML.it L'avatar di Valeria89
    Registrato dal
    Apr 2015
    residenza
    Pisa
    Messaggi
    129
    Quote Originariamente inviata da satifal Visualizza il messaggio
    E' strano che riesci ad eseguire la seconda query dato che non c'è lo spazio tra tabella e (Fcyl) [ tabella"."(Fcyl) ]

    Comunque che errori ti restituisce?
    Se lascio vuoto il campo che contiene il nome del progetto, non mi compare il messaggio che dovrebbe, cioè non mi funziona questo controllo:

    Codice PHP:
    if ($name == "" )
      {
       
    $_SESSION['form_error'] = 'Mandatory field! Please insert value.';
       
    header("location: errore.php"); 

Tag per questa discussione

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.