Почему PHP не принимает символы / ' ` и смайлики в строке input и textarea для записи в БД MySQL?
Чтобы смайлы не вызывали ошибку надо выставить правильную кодировку
чтобы никакие символы не мешали запросу, все переменные надо передавать в БД отдельно от запроса

// правильно соединяемся
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli($host, $user, $pass, $db, $port);
$mysqli->set_charset("utf8mb4");
// правильно вставляем
$sql = "INSERT INTO users (name, email, password) VALUES (?,?,?)";
$stmt= $conn->prepare($sql);
$stmt->bind_param("sss", $name, $email, $password);
$stmt->execute();
Чтобы смайлики записывались, поле в бд должно быть типа utf64mb, а чтобы спецсимволы писались, нужно перед записью их экранировать с помощью mysql_real_escape_string()