2016-08-24 2 views
-1

Привет Я вхожу в 4 записи в базе данных, все в порядке, записи, введенные через форму, успешно добавляются в базу данных, но когда я просматриваю таблицу, есть 4 записи, но содержимое записи отсутствует, пожалуйста, помогите. Благодарю.Отсутствующие данные в coummns в phpmyadmin

Код

<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

не могли бы вы охарактеризовать больше? –

+0

Вы должны показать нам код для нас, чтобы помочь вам – Epodax

+0

написать свой код (проверено) – Karthi

ответ

0

Вы не проходя никакого значения в столбце.

Изменить

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

Для

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

Но использование 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.

Обновленный код

<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

Большое спасибо @Nana Partykar :-) –

+0

* Счастлив помочь. * @TahirKhan Bhai. Но, пожалуйста, повторите мой ответ. Это поможет вам избежать SQL-инъекций. –

Смежные вопросы