@Jefcer
Мама сказала что я красивый

Почему не доходят данные к БД?

Здраствуйте, проблема вот в чем, сижу голову пару 3 -й день... Есть код по добавлению информации в БД MYSQL с формы PHP
<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>Добавление новости</title>
</head>

<body>


<form method="post" action="index.php">

Название новости<br />
<input type="text" name="fm" /><br />

Текст новости <br />
<textarea cols="40" rows="10" name="name"></textarea><br />

Автор новости<br />
<input type="text" name="ot" /><br /><br />

<input type="text" name="phone" /><br />
<input type="text" name="adres" /><br />
<input type="submit" name="add" value="Добавить" />

</form>

<?php

include_once("comp.php");


if(isset($_POST['add']))
{
    $fm = strip_tags(trim($_POST['fm']));
    $name = strip_tags(trim($_POST['name']));
    $ot = strip_tags(trim($_POST['ot']));
    $phone = strip_tags(trim($_POST['phone']));
    $adres = strip_tags(trim($_POST['adres']));
    
    mysql_query(" 
                    INSERT INTO clinika (fm, name, ot, phone, adres)
                    VALUES ('$fm', '$name', '$ot', '$phone', '$adres') ");
    
    mysql_close();
    
    echo "Новость уcпешно добавлена!";
}



?>


</body>
</html>

И код подключения к БД соответственно
<?php

$connection = mysql_connect("localhost", "root", "qwerty");
$db = mysql_select_db("add");
mysql_query(" SET NAMES 'utf8' "); // mysql_set_charset("utf8");

if(!$connection || !$db)
{
    exit(mysql_error());
}

?>

есть база в которою все пишет. По началу создавал 3 поля (id, name, sename) - Всё работает, добавляю пару полей, записываю их в код и все.... ничего записывает, вертаю все обратно и тоже уже не работает. Ошибки нет, и записи в БД тоже нет. Прошу помощи!
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Код подключения к БД
$host = '127.0.0.1';
$db   = 'add';
$user = 'root';
$pass = 'qwerty';
$charset = 'utf8mb4';

$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
try {
     $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

Код в основном файле
if(isset($_POST['add']))
{
    $fm = trim($_POST['fm']);
    $name = trim($_POST['name']);
    $ot = trim($_POST['ot']);
    $phone = trim($_POST['phone']);
    $adres = trim($_POST['adres']);
    
    $stmt = $pdo->prepare("INSERT INTO clinika (fm, name, ot, phone, adres) VALUES (?,?,?,?,?)");
    $stmt->execute([$fm, $name, $ot, $phone, $adres]);
    echo "Новость уcпешно добавлена!";
}

Если надо добавить пару полей, то надо соответственно и модифицировать запрос
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы