2016-07-31 19 views
0

In diesem Block von Code, wo stelle ich mysqli_real_escape_string()?PHP und MySQL Formular senden

Oder wenn Sie eine bessere Möglichkeit haben, den ganzen Block zu schreiben, bin ich interessiert zu hören.

<?php 
$title = ($_POST["title"]); 
$date = ($_POST["date"]); 
$content = ($_POST["content"]); 

$query = "INSERT INTO months ("; 
$query .= " title, date, content "; 
$query .= ") VALUES ("; 
$query .= " '{$title}', '{$date}', '{$content}' "; 
$query .= ")"; 
mysqli_query($connection, $query); ?> 

Antwort

1

Es wäre das Beste sein vorbereitete Anweisungen zu verwenden.

Bei Verwendung einer Escape-Funktion und String-Verkettung kann es immer noch Fälle geben, in denen SQL-Injektion möglich ist. Vorbereitete Anweisungen funktionieren anders, sodass sie gegen SQL-Injection geschützt sind. https://stackoverflow.com/a/60496/3595565

+0

Danke Phillipp – benjiman

0

Try this:

$title = mysqli_real_escape_string($_POST["title"]); 
$date = mysqli_real_escape_string($_POST["date"]); 
$content = mysqli_real_escape_string($_POST["content"]);