sql >> Databasteknik >  >> RDS >> Mysql

Använd PHP "infoga flera" för att infoga alla fyra raderna samtidigt

ändra namnen på dina kontroller så att de lägger upp som arrayer

<input type="text" name="teamname[G1]">
<input type="text" name="teamname[G2]">

detta varför när du använder $varTname = $_POST['teamname']; $varTname är en array och vart och ett av de fyra värdena för teamname är inställda som $varTname['G#'] där # matchar numret du ställt in för den gruppen av inmatningsfält.

använd sedan en for-loop för att hämta data och köra din fråga, ungefär som nedan. medan du håller på kan du också fixa din SQL-injektionssårbarhet. du kanske också vill göra lite mer hygien till data bara för att vara säker

$varTname = $_POST['teamname'];
$varCity = $_POST['city'];
$varBplayer = $_POST['bestplayer'];
$varYearformed = $_POST['yearformed'];
$varWebsite = $_POST['website'];

$stmt = $mysqli->prepare('INSERT INTO Teams (teamname, city, bestplayer, yearformed, website) VALUES (?,?,?,?,?,?)');
$varTname1Bind = "";
$varTnameBind = "";
$varCityBind = "";
$varBplayerBind = "";
$varWebsiteBind = "";

 // assuming they are all strings, adjust where needed
 $stmt->bind_param('sssssss',
    $varTname1Bind,
    $varTnameBind,
    $varCityBind,
    $varBplayerBind,
    $varYearformedBind,
    $varWebsiteBind);

for($i = 1; i < 5; $i++)
{
    $varTname1Bind = $varTname['G'.$i];
    $varTnameBind = $varTname['G'.$i];
    $varCityBind = $varCity['G'.$i];
    $varBplayerBind = $varBplayer['G'.$i];
    $varYearformedBind = $varYearformed['G'.$i];
    $varWebsiteBind = $varWebsite['G'.$i];

    $stmt->execute();
}

kommer att spara på hur mycket kod du behöver göra



  1. Hur man ändrar sortering till utf8_bin på en gång

  2. Hur får man ett skript för att skapa tabeller i MySQL Workbench?

  3. Hur använder man union bara en gång med vars kommando?

  4. Hur man aktiverar CDC på uppsättning tabeller ELLER aktiverar på alla tabeller i en databas i SQL Server - SQL Server Tutorial