Как запросить переменную из базы данных с помощью php - PullRequest
0 голосов
/ 18 января 2019

Добрый день разработчики оттуда! ?? Я просто хочу спросить, в чем проблема с моим кодом, я пытаюсь сделать веб-страницу с использованием HTML, CSS, PHP и базы данных. Теперь я уже создал php в своей html-форме, и моя база данных уже подключена, но каждый раз, когда я отправляю информацию в html-форме, которую я создал, в моей базе данных ничего не появляется.

<?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>"; 
} 
?>

Ответы [ 3 ]

0 голосов
/ 18 января 2019

Вы только делаете запрос, а не выполняете запрос. Это этот код

$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 голосов
/ 18 января 2019

Так же, как упомянуто @executable, вы определяете запрос в своем коде, но не выполняете его.

  1. Определить объект подключения (Mysqli, PDO ..)

  2. Подготовка переменных запроса и привязки

  3. Выполнить ваш запрос

Вот пример использования подготовленных операторов

<?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 и PHP.Net имеют неплохие примеры того, как использовать подготовленные операторы для повышения безопасности вашего SQL-запроса из SQL-инъекций .

0 голосов
/ 18 января 2019

Вы просто не выполняете свой запрос. Использование 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...