Ich bin ziemlich neu in PHP und MySQL. Ich habe versucht, mehrere (unbekannte) Anzahl von Zeilen in MySQL-Datenbank einzufügen. Die Daten werden über einen Link in die Tabelle geschrieben. http://localhost:81/logdata.php?CtrlID=3842&DateTime=2017-05-18+11%3A45%3A23&Bat=50.2&LVSD=1&Indt=29.4&Outdt=32.8&submitEinfügen mehrerer Zeilen in die Datenbank über einen Link
Der folgende Code funktioniert perfekt, solange eine einzelne Zeile gebucht wird. Aber ich habe keine Ahnung, wie man mehrere Zeilen zusammenfügt und wie der Link aussehen sollte. Tatsächlich werden Zeilen, die Daten enthalten, in einem Mikrocontroller gebildet und gespeichert. Ich sende die Daten mit Hilfe von GPRS. Der Controller sendet erfolgreich eine Zeile nach der anderen, die Daten werden korrekt in der Datenbank mysql aufgezeichnet. Aber ich kämpfe darum, mehrere Reihen zusammen zu schicken. Ich würde jeden Vorschlag sehr schätzen.
<?php
$servername = "localhost";
$username = "root";
$password = ""; //your pwd
$dbname = "mirzu";
// Create connection
$conn = new mysqli($servername, $username, $password,$dbname);
if($conn){
echo 'Successfully Connected database.';
}
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//if(isset($_GET['submit'])){ //
$ID = $_GET['CtrlID'];
$DateTime = $_GET['DateTime'];
$battery = $_GET['Bat'];
$LVSD = $_GET['LVSD'];
$IndoorT = $_GET['Indt'];
$OutdoorT = $_GET['Outdt'];
$totalCtrlID = sizeof($ID);
for($i=0;$i<$totalCtrlID;$i++) {
$InsCtrlID = [$ID][$i];
$InsDateTime = [$DateTime][$i];
$Insbattery = [$battery][$i];
$InsLVSD = [$LVSD][$i];
$InsIndoorT = [$IndoorT][$i];
$InsOutdoorT = [$OutdoorT][$i];
$query = "INSERT INTO btsdata (CtrlID,DateTime,Batt,LVSD,IndT,OutdT)".
"VALUES ('$InsCtrlID','$InsDateTime','$Insbattery','$InsLVSD','$InsIndoorT','$InsOutdoorT');";
}
if (mysqli_query($conn, $query)) {
echo "New record created successfully into database";
} else {
echo "Error: " . $query . "<br>" . mysqli_error($conn);
}
//}
mysqli_close($conn);
?>
Es ist eine schlechte Idee, Werte aus $ _GET in die Datenbank einzufügen. Und generell auf Benutzereingaben zu vertrauen. Lesen Sie über SQL-Injektionen. – ArtOsi
Danke, GET wird mit POST ersetzt, kein großes Problem. Aber mein Hauptproblem ist jetzt das Einfügen mehrerer Zeilen mit einem Eintrag. – Mainul
Beantwortet von @Bhupesh Kushwaha ist was du suchst. Anderes Thema, du hast hier viele schlechte Praktiken benutzt. Sie sollten Daten immer validieren, bevor Sie SQL infizieren. – timiTao