Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawianie danych tablicy formularzy do MySQL za pomocą PHP

Użycie obiektu PDO ułatwiłoby to, mysql_ i tak jest przestarzały:

$db = new PDO($hostname,$username,$password);


$qry = "INSERT INTO table (
            Date,
            FirstName,
            LastName,
            StraightHours,
            OvertimeHours,
            PremiumHours,
            TotalHours,
            PerDiem
        )
        VALUES (:date, :firstname, :lastname, :straighthours, :overtimehours, :premiumhours, :totalhours, :perdiem)"; // colon variables will be bound to actual variable

$statement = $db->prepare($query); //prevents injection

// binds variables to place holder in query
$statement->bindValue(':firstname', $firstname);
$statement->bindValue(':lastname', $lastname);
$statement->bindValue(':straighthours', $straighthours);
$statement->bindValue(':overtimehours', $overtimehours);
$statement->bindValue(':premiumhours', $premiumhours);
$statement->bindValue(':totalhours', $totalhours);
$statement->bindValue(':perdiem', $perdiem);

$statement->execute();
$statement->closeCursor();

możesz wykonać dalsze sprawdzanie danych wejściowych za pomocą php przed przekazaniem czegokolwiek do sql poprzez:

trim(strip_tags(htmlentities($firstname)));

PDO jest o wiele prostsze w użyciu i zrozumieniu IMO

AKTUALIZACJA:

poradniki dotyczące PDO

AKTUALIZACJA #2:

Aby uzyskać dodatkową funkcjonalność z tablicami na dzień, możesz wykonać:

<input type="text" name="firstname1">

// do this for all fields then
$workingday1 = array();
$workingday1['firstname'] = $_GET['firstname1'];
// etc. for all the other fields

Następnie możesz uzyskać dostęp do pola:

$workingday1 = $_GET['workingDay1']; // or post or however you want to pass it
$firstname = $workingday['firstname'];

Następnie możesz przycinać swoją bazę danych w dowolny sposób. Możesz mieć jedną tabelę ze wszystkimi wartościami i edytować swoje wybory, aby wyświetlić je według pracownika lub dnia lub w/e. Możesz także mieć tabelę dla każdego pracownika, a następnie pobrać z tych tabel i wyświetlić dane w dowolny sposób.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Nieznana kolumna w miejscu błędu klauzuli

  2. MyISAM vs InnoDB dla szybkich wstawek i unikalnego klucza kompozytowego

  3. Zapytanie, aby znaleźć tabele zmodyfikowane w ciągu ostatniej godziny

  4. PHP, MySQL, PDO — uzyskać wynik z zapytania UPDATE?

  5. wywołaj zewnętrzny skrypt z wyzwalaczem mySQL WHITOUT sys_exec na ubuntu ARMHF