PHP

Не получается отправлять данные с формы в бд, не знаю в чем проблема, уже все перепробовал

ошибок никаких не выводит
<?php
$host="localhost";
$user="root";
$pass="";
$db_name="buy";
$link=mysql_connect($host,$user,$pass,$db_name);
if (isset($_POST["done"])) {
$s=mysql_query("INSERT INTO `data` (`date`, `comments1`, `income`, `balance`, `expenses`, `comments2`)
VALUES ('".time()."','".$_POST['comments1']."','".$_POST['income']."','".$_POST['balance']."','".$_POST['expenses']."','".$_POST['comments2']."')");
echo $s;
mysql_close;
}
?>
Во-первых, использование функций mysql_* в php объявлено deprecated, а в современном php этой функции вообще нет.
Если вы себе выключили выдачу предупреждений и ошибок, то это не значит, что их нет.
Функции mysql_* надо заменять на обертку PDO с соответствующим провайдером (в вашем случае pdo_mysql). Погуглите по строчке "migrate from mysql_".
Далее, (если игнорировать использование устаревших функции) вам надо проверять значений функций. Например, mysql_connect выдает какое-то значение, которые вы нигде в коде не проверяете.
Returns a MySQL link identifier on success or FALSE on failure.
Понимаете, не в 100% случаев у вас гарантированно будет открытие БД. Иногда она не открывается, совершенно неожиданно для вас.
Григорий З
Григорий З
98 177
Лучший ответ
В функции mysql_connect НЕ СУЩЕСТВУЕТ четвёртого параметра - имени базы данных: http://php.net/manual/ru/function.mysql-connect.php

Потому при вызове mysql_connect задаются только host, user и pass. А выбор базы должен производиться в следующей строке - вызовом функции http://php.net/manual/ru/function.mysql-select-db.php

И да, в 2017 году вызовы mysql_connect остались только в "самоучителях", штампуемых говнокодерами.
mysqli_query применяется, и вообще сначало проверь подключен ли ты к базе данных, пропиши после $link=mysql_connect($host,$user,$pass,$db_name); пропиши if ($link) echo 'ok';
else echo 'eroor'; если ты подключен и все нормально можно работать с остальным, да и вообще я вижу что в переменной pass нет пароля, наверное ты работаеш на локальном хостинге, а на локал хосте большие проблемы с php