domenica 27 Settembre 2020

Download in corso

Softwareone.it

11-01-2019

Inviare dati a MySql – PHP

SQL (Structured Query Language) è un linguaggio standardizzato per database, progettato per creare e modificare schemi di database, inserire, modificare e gestire dati memorizzati, interrogare i dati memorizzati, creare e gestire strumenti di controllo ed accesso ai dati.

Sintassi SQL relative ai comandi SQL:

Select

  • SELECT “nome_di_colonna” FROM “nome_della_tabella”;

Insert Into

  • INSERT INTO “nome_della_tabella” (“colonna_1”, “colonna_2”, …)
  • VALUES (“valore_1”, “valore_2”, …);

Update

  • UPDATE “nome_della_tabella”
  • SET “colonna 1” = [nuovo valore]
  • WHERE “condizionale”;

Delete From

  • DELETE FROM “nome_della_tabella”
  • WHERE “condizionale”;

Drop Table

  • DROP TABLE “nome_della_tabella”;

Create Table

  • CREATE TABLE “nome_della_tabella”
  • (“colonna_1” “tipo_di_dati_per_la_colonna_1”,
  • “colonna_2” “tipo_di_dati_per_la_colonna_2”, … );

Count

  • SELECT COUNT(“nome_di_colonna”)
  • FROM “nome_della_tabella”;

Ne esistono altri ma a noi per adesso interessa la sintassi per l’inserimento dei dati in una tabella una riga alla volta INSERT INTO “nome_della_tabella” (“colonna_1”, “colonna_2”, …) VALUES (“valore_1”, “valore_2”, …);

<?php     
      $sql="INSERT INTO nome_tabella (colonna_1, colonna_2, ...)
           VALUES ("valore_1", "valore_2", ...)";
           
      $result = @mysql_query($sql);   
          if($result){
          echo("Dati inviati");
          } else{
          echo("Inserimento non eseguito");
          }
     ?>

Aggiungiamo la connessione a MySql.

<?php
    $DB_host     = 'localhost';
    $DB_user     = 'nome_utente';
    $DB_password = 'password';
    $DB_name     = 'prova';
 
    $conn = mysql_connect($DB_host, $DB_user, $DB_password);
        if (!$conn) {
            die ('Non riesco a connettermi: ' . mysql_error());
            }
 
    $db_selected = mysql_select_db($DB_name, $conn);
        if (!$db_selected) {
            die ("Errore nella selezione del database: " . mysql_error());
            }
 
    echo 'connesso con successo';
 
    $sql="INSERT INTO nome_tabella (colonna_1, colonna_2, ...)
         VALUES ("valore_1", "valore_2", ...)";
         
    $result = mysql_query($sql);    
        if($result){
        echo("Dati inviati");
        } else{
        echo("Inserimento non eseguito");
        }
         
    mysql_close($conn);
?>

Creiamo un form per l’invio dei dati.

<form method="post" name="form" action="">
    Nome: <input type="text" name="nome">
    Cognome: <input type="text" name="cognome">
<input type="submit" value="invia">
</form>

Codice completo

<?php
//RECUPERO VARIABILI FORM
    $nome = $_POST["nome"];
    $cognome = $_POST["cognome"];
 
//DATI DI ACCESSO AL DATABASE
    $DB_host     = 'localhost';
    $DB_user     = 'admin';
    $DB_password = 'admin';
    $DB_name     = 'prova';
  
//CONNESSIONE DATABASE
    $conn = @mysql_connect($DB_host, $DB_user, $DB_password);
        if (!$conn) {
            die ('Non riesco a connettermi: ' . mysql_error());
            }
  
//SELEZIONE DATABASE
    $db_selected = mysql_select_db($DB_name, $conn);
        if (!$db_selected) {
            die ("Errore nella selezione del database: " . mysql_error());
            }
  
    echo 'connesso con successo';
  
//INVIO DATI DATABASE
    $sql="INSERT INTO dati (nome, cognome)
         VALUES ('".$nome."', '".$cognome."')";
          
    $result = @mysql_query($sql);   
        if($result){
        echo("Dati inviati");
        } else{
        echo("Inserimento non eseguito");
        }
 
//CHIUDO CONNESSIONE  
    mysql_close($conn);
?>
 
<form method="post" name="form" action="">
nome: <input type="text" name="nome">
cognome: <input type="text" name="cognome">
<input type="submit" value="invia">
</form>

Si consiglia di separare il codice in 2 file separati la parte php e quella html.

Il recupero delle variabile del form potrebbe produrre un errore del tipo:
Notice: Undefined index: …
Per evitare questo verificare se il campo method è stato inizializzato con la funzione isset().

$nome = (isset($_POST[“nome”]));

Per far funzionare il tutto ovviamente abbiamo bisogno di creare un nuovo database dal nome “prova” , tabella “dati”, e tre campi nome, cognome e id.

PDO PHP Data Objects

Structured Query Language

I commenti sono chiusi.

Pubblicità