sql >> Database >  >> RDS >> Mysql

Formulierarraygegevens invoegen in MySQL met PHP

Het gebruik van een PDO-object zou dit gemakkelijker maken, mysql_ is sowieso legacy:

$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();

je kunt de invoer verder controleren met php voordat je iets aan de sql doorgeeft via:

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

PDO is een stuk eenvoudiger te gebruiken en te begrijpen IMO

BIJWERKEN:

handleidingen over BOB

UPDATE #2:

Voor extra functionaliteit met arrays per dag kunt u het volgende doen:

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

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

Dan kunt u toegang krijgen tot het veld door:

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

Daarna kunt u uw database opschonen zoals u dat wilt. U kunt een enkele tabel hebben met alle waarden en uw selecties bewerken om ze weer te geven op werknemer of dag of w/e. U kunt ook voor elke medewerker een tabel hebben en vervolgens uit die tabellen pakken en de gegevens weergeven zoals u dat wilt.




  1. Zoek de tabelnaam waarnaar wordt verwezen met behulp van tabel-, veld- en schemanaam

  2. Hoe meerdere id's toewijzen aan één rij in MySQL?

  3. SQL afkappen

  4. ON DELETE SET NULL in postgres