удалить * из таблицы не работает

Я пытаюсь удалить все строки из таблицы, но он не работает. когда я делаю echo $mydb->error; это дает мне следующее:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM messages where from_user = ? and id = ?'

  $user = 'currentuser'; if (isset($_POST['delete'])) { if(!empty($_POST['id'])){ $id = $_POST['id']; $mydb = new mysqli('localhost', 'root', '', 'database'); $stmt = $mydb->prepare("DELETE * FROM messages where from_user = ? and id = ? "); echo $mydb->error; $stmt->bind_param('ss', $user, $id); foreach ($_POST['id'] as $id) { $stmt->execute(); } echo"The Message deleted permanently"; } } 

Solutions Collecting From Web of "удалить * из таблицы не работает"

Должен быть

 $stmt = $mydb->prepare("DELETE FROM messages WHERE from_user = ? AND id = ? "); 

И я буду признателен за использование функций mysqli_* вместо устаревших mysql_*

Кроме того, не должно быть * для DELETE; это не правильный синтаксис.

Справка:

Синтаксис * используется в сочетании с SELECT:

Если вы хотите удалить все сообщения пользователя:

 $stmt = $mydb->prepare("DELETE FROM messages where from_user = ?"); $stmt->bind_param('s', $user); $stmt->execute(); 

Если вы хотите удалить все строки (будьте осторожны!) Из таблицы:

 $stmt = $mydb->prepare("DELETE FROM messages"); $stmt->execute();