Хорошо, так как вы можете видеть, я сделал форму. Если я вложу имя и фамилию и попытаюсь отобразить ее после этого, это будет работать, но это будет не так, когда я попытаюсь "отправить" его в базу данных и получить ее. Это дает мне "никакого результата". Поскольку я довольно новичок в этом, я не знаю, что я сделал не так. Кто-нибудь видит проблему здесь?
//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
//Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "<form action='' method='post'>
Naam: <input type='text' name='name'><br>
Achternaam: <input type='text' name='surname'><br>
<input type='submit'>
</form>";
$name = $_POST["name"];
$surname = $_POST["surname"];
//insert name
$sql = "INSERT INTO Namen
VALUES ($name, $surname)";
$result = $conn->query($sql);
if(!$result){
echo "fout ".mysql_error();
}
$sql = "SELECT Voornaam, Achternaam FROM Namen";
$result = $conn->query($sql);
echo "<table border='1px'>";
echo "<th>Naam</th>";
echo "<th>Achternaam</th>";
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" .$row["Voornaam"] . "</td>";
echo "<td>" . $row["Achternaam"] . "</td></tr>";
}
} else {
echo "0 results";
}
echo "</table>";
$conn->close();
?>
Переменные ваших значений VALUES ($name, $surname)
должны быть инкапсулированы внутри кавычек, так как мы (более чем вероятно) имеем дело со строками.
Измените его на VALUES ('$name', '$surname')
Вы также смешиваете (они не смешиваются) MySQL API с echo "fout ".mysql_error();
который должен быть изменен на echo "fout ".mysqli_error($conn);
для получения фактической ошибки.
Кроме того, ваш текущий код открыт для SQL-инъекции.
Используйте подготовленные заявления или PDO с подготовленными заявлениями, они намного безопаснее.
Вы также должны рассмотреть возможность переноса вашего кода (или того, который вы хотите выполнить) внутри условного оператора на основе именованной кнопки отправки.
То есть:
<input type='submit' name='submit' value='Submit'>
затем делать
if(isset($_POST['submit'])){...}
{...}
является вашим первоначальным запросом и/или всей (или частью) вашего кода PHP/SQL.