Я пытаюсь отправить данные в таблицу в моей базе данных, но нет сообщений об ошибках относительно того, почему данные не отправлены. Я вставил данные в таблицу в phpmyadmin, и эти данные печатаются с результатом во время цикла, но данные не будут отправляться в таблицу.Оператор INSERT INTO не отправляет данные в таблицу
<!-- form to take input-->
<form name='form1' method='post'>
Name:
<input type='text' name='Name' id='name' /> <br />
Comment:
<input type='text' name='Comment' id='comment' /> <br />
<input type="submit" name='submit' value="Submit" id='submit'>
</form>
<!-- start php-->
<?php
if(isset($_POST['submit']))
{
$name = $_POST['Name'];
$comment = $_POST['Comment'];
}
$con = mysqli_connect("localhost", "kodie", "hill1124", "comments");
if(mysqli_connect_errno())
{
echo "Failed to connect to MySql: ". mysqli_connect_error();
}
mysqli_query($con, "INSERT INTO commenttable VALUES ('$name','$comment',NOW()");
$query = "SELECT * FROM commenttable";
$result = mysqli_query($con, $query);
$hash = $result;
echo "<table>";
if($hash = NULL)
{
echo "null";
}
while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row['Name'] . "</td><td>" . $row['comment'] . "</td><td>" . $row['timestamp'] . "</td></tr>"; //$row['index'] the index here is a field name
}
echo "</table>";
mysqli_close($con);
?>
Я не уверен, почему он не будет отправлять, я не думаю, что это права, но я новичок в использовании MySQL и не понимаю, почему оператор компилируется без ошибок, но на самом деле не поставить данные на столе.
Любая помощь приветствуется.
Put 'или умереть (mysqli_error ($ con)) 'после' mysqli_query (...) ', поэтому вы видите сообщение об ошибке из MySQL. – Barmar
Проблема, вероятно, в том, что '$ comment' содержит символ цитаты, который нарушает ваш синтаксис. Вы должны использовать подготовленный запрос или 'mysqli_real_escape_string'. – Barmar
Вам не хватает тег parz mysqli_query ($ con, "INSERT INTO commenttable VALUES ('$ name', '$ comment', NOW())"); –