2016-08-24 2 views
-1

Hallo Ich gebe den Datensatz 4 in der Datenbank ein, alles ist in Ordnung, die Datensätze, die ich über das Formular eingegeben habe, wurden erfolgreich in der Datenbank hinzugefügt, aber wenn ich die Tabelle durchsuche, sind 4 Datensätze verfügbar, aber Inhalt des Datensatzes fehlt, bitte helfen. Vielen Dank.Fehlende Daten in coulms in phpmyadmin

-Code

<body> 
    <?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "test"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 
    $sql = "INSERT INTO names (firstname, secondname) VALUES ('', '')"; 
    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 
    $conn->close(); 
    ?> 
    <?php echo $_POST["firstname"]; ?><br /> 
    <?php echo $_POST["secondname"]; ?> 
    </body> 
</html> 

Sceenshot

enter image description here

+0

können Sie bitte mehr beschreiben? –

+0

Sie müssen uns Code zeigen, damit wir Ihnen helfen können – Epodax

+0

Ihren Code bekannt geben (ausprobiert) – Karthi

Antwort

0

Sie keinen Wert auf Spalte sind vorbei.

ändern

$sql = "INSERT INTO names (firstname, secondname) VALUES ('', '')"; 

Um

$sql = "INSERT INTO names (firstname, secondname) VALUES ('".$_POST['firstname']."', '".$_POST['secondname']."')"; 

Aber Verwenden Prepared Statements

A prepared statement is a feature used to execute the same (or similar) SQL statements repeatedly with high efficiency. Prepared statements are very useful against SQL injections, because parameter values, which are transmitted later using a different protocol, need not be correctly escaped. If the original statement template is not derived from external input, SQL injection cannot occur.

Aktualisiert-Code

<body> 
    <?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "test"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 
    $stmt = $conn->prepare("INSERT INTO names (firstname, secondname) VALUES (?, ?)"); 
    $stmt->bind_param("ss", $_POST["firstname"], $_POST["secondname"]); 
    if ($stmt->execute()) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 
    $conn->close(); 
    ?> 
    <?php echo $_POST["firstname"]; ?><br /> 
    <?php echo $_POST["secondname"]; ?> 
    </body> 
</html> 
+0

Vielen Dank @Nana Partykar :-) –

+0

* Glücklich zu helfen. * @TahirKhan Bhai. Aber, bitte gehen Sie meine Antwort noch einmal durch. Es wird Ihnen helfen, SQL Injection zu vermeiden. –