Ich habe eine Anwendung erstellt, die Informationen aus dem Formular übernimmt und die Details in eine Datenbanktabelle namens "Warteschlange" legt. Die Tabellen bestehen aus den Entitäten "Position" (Primärschlüssel, Autoinkrement), "Name", "Service" und "QueuedAt". Ich bekomme diesen SQLlite :: exec Fehler beim Ausführen meiner Anwendung.SQLite3 :: exec Fehler (Einfügen von Daten in eine Tabelle)
Warning: SQLite3 :: exec(): in der Nähe von "jghjhgfjhgf": Syntaxfehler in E: \ Programy \ xampp \ htdocs \ QueueAppLocal \ process.php auf der Leitung 31 in der Nähe "jghjhgfjhgf": Syntaxfehler
Dies ist meine process.php-Datei, die Form Details in der Tabelle
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('queue.db');
}
}
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
if(isset($_POST['formSubmit'])) {
$varFirstName = $_POST['formFirstName'];
$varLastName = $_POST['formLastName'];
$varTitle = $_POST['formTitle'];
$varService = $_POST['formServices'];
$varFullName = $varTitle . " " . $varFirstName . " " . $varLastName;
}
$sql =<<<EOF
INSERT INTO queue (Name,Service,QueuedAt)
VALUES ($varFullName, $varService, CURRENT_TIME);
EOF;
$ret = $db->exec($sql);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Records created successfully\n";
}
$db->close();
_Verwenden Sie keine String-Operationen für Abfragen! Sie sind ein Sicherheitsrisiko! _ Sehen Sie nach, wie Sie "parametrisierte Abfragen" in Ihrer Sprache durchführen. –