PHP не подключается к MySQL

Я хочу сделать форму, чтобы, когда пользователь вводит какой-то ввод, программа помещает его в базу данных в таблице. Я использую PDO для подключения к базе данных, но когда я что-то печатаю, ничего не происходит. Вы можете мне помочь? Что я сделал не так в коде? У меня есть отдельный файл для кода PDO, и я включаю его в файл php.
Код PDO:

<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=music', 'kat', 'msc');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>

Я создал базу данных в MySQL и таблицу внутри, названную альбомом. Я хочу, чтобы пользователь набрал имя исполнителя, песню и номер альбома и автоматически сохранил его в таблице. Мой код в PHP:

<?php
require_once "pdo.php";
$sql= "INSERT INTO album(name, song, number) VALUES ( :nm, :sn, :nb)";
echo("<pre>\n".$stmt."\n</pre>\n");
$stmt = $pdo->prepare ($sql);
$stmt->execute(array(
':nm' => $_POST['name'],
':sn' => $_POST['song'],
':nb' => $_POST['number']));
}
$stmt = $pdo->query("SELECT name, song, number FROM album");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

И код для формы:

<form method="post">
<p>Name:
<input type="text" name="name" size="60"/></p>
<p>Song:
<input type="text" name="song"/></p>
<p>Number:
<input type="text" name="number"/></p>
<input type="submit" value="Add">
</form>

Когда кнопка «Добавить» нажата, я выполню некоторую проверку ввода для данных, например, не NULL, целое число и т. Д., Но я еще не сделал этого, потому что я даже не могу заставить работать простую часть. Я использую xampp и MySQL работает отдельно, мой php файл просто ничего не делает.
Что мне не хватает?

-1

Решение

Это отсортировано, пожалуйста, следуйте этому коду:

<?php
error_reporting(0);
if( isset($_POST['postdata'])) {

$servername = "localhost";
$username = "kat";
$password = "msc";
try {
$conn = new PDO("mysql:host=$servername;dbname=music", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql= "INSERT INTO album(name, song, number) VALUES ( :nm, :sn, :nb)";
echo("<pre>\n".$stmt."\n</pre>\n");
$stmt = $conn->prepare ($sql);
$stmt->execute(array(
':nm' => $_POST['name'],
':sn' => $_POST['song'],
':nb' => $_POST['number']));

$stmt = $conn->query("SELECT name, song, number FROM album");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);


}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
}
?>



<form method="post">
<p>Name:
<input type="text" name="name" size="60"/></p>
<p>Song:
<input type="text" name="song"/></p>
<p>Number:
<input type="text" name="number"/></p>
<input type="submit" value="Add" name="postdata">
</form>
-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector