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

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

0 голосов
/ 09 декабря 2018

Я хочу создать форму, чтобы при вводе пользователем какого-либо ввода программа помещала его в базу данных в виде таблицы.Я использую 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 и таблицу внутри с именем album.Я хочу, чтобы пользователь набрал имя исполнителя, песню и номер альбома и автоматически сохранил его в таблице.Мой код в PHP:

<code><?php
require_once "pdo.php";  
$sql= "INSERT INTO album(name, song, number) VALUES ( :nm, :sn, :nb)";
echo("<pre>\n".$stmt."\n
\ n "); $ stmt = $ pdo-> prepare ($ sql); $ stmt-> execute (array (': nm' => $ _POST ['name'], ': sn' => $ _POST ['song'], ': nb' => $ _POST ['number']));} $ stmt = $ pdo-> query ("ВЫБЕРИТЕ имя, песню, номер ИЗ альбома"); $ row = $ 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 Ответ

0 голосов
/ 09 декабря 2018

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

<?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("\n".$stmt."\n
\ n "); $ stmt = $ conn-> prepare ($ sql); $ stmt-> execute (массив (': nm' => $ _POST ['name'], ': sn' => $_POST ['song'], ': nb' => $ _POST ['number'])); $ stmt = $ conn-> запрос ("ВЫБЕРИТЕ имя, песню, номер из альбома"); $ row = $ stmt-> fetchAll (PDO :: FETCH_ASSOC); print_r ($ lines);} catch (PDOException $ e) {echo "Ошибка подключения:". $ e-> getMessage ();}}?>

Имя:

Песня:

Номер:

добавлять

Я сделал некоторые изменения, чтобы заставить его работать

enter image description here

enter image description here

...