Guten Tag Entwickler da draußen! 😊😊 Ich möchte nur fragen, was das Problem mit meinem Code ist. Ich versuche, eine Webseite mit HTML, CSS, PHP und Datenbank zu erstellen. Jetzt habe ich bereits ein PHP in meinem HTML-Formular erstellt und meine Datenbank ist bereits verbunden, aber jedes Mal, wenn ich die Informationen in dem von mir erstellten HTML-Formular sende, wurde nichts in meiner Datenbank angezeigt.

<?php 
if(isset($_POST['save'])){ 
    $FName = $_POST['FName'];
    $MName = $_POST['MName']; 
    echo "Successfully Added";
    $sql= "INSERT INTO 'tbstudinfo' (Transaction_Number, First_Name, `Middle_Name') VALUES ('000',$FName,$MName)";
} else{ 
    echo "<p>Insertion Failed.</p>"; 
} 
?>
1
Cent 18 Jän. 2019 im 17:38

3 Antworten

Beste Antwort

Genau wie bei @executable erwähnt, definieren Sie eine Abfrage in Ihrem Code, führen sie jedoch nicht aus.

  1. Verbindungsobjekt definieren (Mysqli, PDO ..)

  2. Bereiten Sie Abfrage- und Bindungsvariablen vor

  3. Führen Sie Ihre Abfrage aus

Hier ist ein Beispiel mit vorbereiteten Anweisungen

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

if( isset($_POST['save']) ){
    // prepare and bind
    $stmt = $conn->prepare("INSERT INTO 'tbstudinfo' (Transaction_Number, First_Name, Middle_Name) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $transaction_number, $FName, $MName);

    // set parameters and execute
    $transaction_number = '000';
    $FName= $_POST['FName'];
    $MName= $_POST['MName'];
    $stmt->execute();
    echo "Successfully Added";

}else{
    echo "<p>Nothing Posted</p>";
}

W3Schools und PHP.Net haben beide ziemlich gute Beispiele dafür, wie Sie vorbereitete Anweisungen verwenden, um Ihre SQL-Abfrage vor SQL Injections.

1
Pankaj Jha 18 Jän. 2019 im 15:43

Sie führen Ihre Abfrage einfach nicht aus. Verwenden von MySQLi:

<?php
$servername = "localhost";
$username = "root"; 
$password = ""; 
$db = "dbthesis"; 

$conn = new mysqli($servername, $username, $password, $db); 

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
if(isset($_POST['save'])){ 
    $FName = $_POST['FName'];
    $MName = $_POST['MName']; 
    $sql = "INSERT INTO tbstudinfo (Transaction_Number, First_Name, Middle_Name) VALUES ('000', '$FName', '$MName')";
    if ($conn->query($sql) === TRUE) {
        echo "Successfully Added";
    } else {
        echo "<p>Insertion Failed.</p>"; 
    }
}
$conn->close();
1
executable 18 Jän. 2019 im 15:13

Sie stellen nur eine Abfrage, keine Abfrage. Dies ist dieser Code

$FName = $_POST['FName'];
$MName = $_POST['MName'];
$sql = "INSERT INTO tbstudioinfo (Transaction_Number, First_Name, Middle_Name) VALUES ('000','$FName','$MName')";

// code below runs your query

if (mysqli_query($conn, $sql)) {
    echo "Successfully Added";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
0
Erwin Kurniawan A 18 Jän. 2019 im 15:14