Задать вопрос
Fade-org
@Fade-org
Люблю Python, потихоньку учу C#.

PHP не могу занести данные в БД, в чем ошибка?

Я пытаюсь создать онлайн чат на сайте, вот у меня есть сам чат, есть поля для ввода имени и текста, есть кнопка отправить сообщение, к бд коннект успешный, но сообщение не добавляется в базу данных, добавление должно произойти на 23 и 24 строчке кода.

Вылетает такая ошибка:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in /profiles/c/ch/cha/chatbyfade/chat.fade.zzz.com.ua/chat.php on line 14


<?php
// ERRORS
error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
// ERRORS


$link = mysqli_connect("localhost", "chat9thteam", "Stepa123", "chatbyfade");
$sql = "SELECT * FROM 'messages' ORDER BY 'date'";
$result = mysqli_query($link, $sql);
if (!isset($_GET['add_message'])) {
	if (mysqli_num_rows($result) >= 1) {
		while ($out = mysqli_fetch_assoc($result)) {
			echo $out['name'] ." | " . $out['date'] . "<br>" . $out['message'] ."<hr>";
		}
	}
}
if (isset($_GET['add_message'])){
	echo '<form action="chat.php?add_message" method = "POST">
	<input type="text" name="name" style="width:100%;height:25px;">
	<br><br>
	<input type="text" name="message" style="width:100%;height:40px;">
	<br><br>
	<button name="submit" style="width:100%;height:40px;">Отправить</button>
	</form>'; 
}
if (isset($_POST['submit'])){
	if (!empty($_POST['name']) && !empty($_POST['message'])){
		$sql = "INSERT INTO 'messages' ('id', 'name', 'message', 'date') VALUES (NULL, '".$_POST['name']."', '".$_POST['message']."', '".date('d.m.Y H:i:s')."');";
		mysqli_query($link, $sql);
	}
}
?>


Вот скриншот таблицы на бд
DataBase

5e837c5f35852412221205.png
  • Вопрос задан
  • 534 просмотра
Подписаться 2 Простой 12 комментариев
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
всё дело в неправильном использовании кавычек
$sql = "SELECT * FROM 'messages' ORDER BY 'date'";

надо так
$sql = "SELECT * FROM `messages` ORDER BY `date`";

или вообще уберите их
$sql = "SELECT * FROM messages ORDER BY date";
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
' !== `
И читайте логи, там все ошибки пишутся.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы