HTML — Моя страница PHP не работает. Это абсолютно пусто

Я работаю над сайтом, чтобы делиться названиями песен, и я подготовил форму рекомендации, которую я включаю в каждую страницу. Эта форма рекомендаций представлена ​​в формате HTML и ведет на страницу действий PHP, где полученная информация добавляется в таблицу SQL. Вот код:

<?php

ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="MYPASSWORD"; // Mysql password
$db_name="DB NAME"; // Database name
$tbl_name="songshare"; // Table name

// Connect to server and select databse.
$link = mysqli_connect("$host", "$username", "$password")or die("cannot connect");
mysqli_select_db($link, "$db_name")or die("cannot select DB");

// Define $myusername and $mypassword
$song=$_POST['song'];
$album=$_POST['album'];
$artist=$_POST['artist'];
$linkitunes=$_POST['linkitunes'];
$artwork=$_POST['albumPic'];

// To protect MySQL injection (more detail about MySQL injection)
$song = stripslashes($song);
$album = stripslashes($album);
$artist = stripslashes($artist);
$song = mysqli_real_escape_string($link, $song);
$album = mysqli_real_escape_string($link, $album);
$artist = mysqli_real_escape_string($link, $artist);

$sql="SELECT * FROM $tbl_name WHERE song='$song'";
$result=mysqli_query($link, $sql);
if ($result->num_rows){
echo "Song already taken" . "<br />";
echo "<a href='/music.php'>music</a>";
exit();
}

$sql="INSERT INTO recommendation (user_id, artist, song, album, artwork, linkitunes)";
$sql = $sql . " VALUES ('$_SESSION['user_id']', '$artist', '$song', '$album'. '$artwork'. '$linkitunes');";
$result=mysqli_query($link, $sql);

if(!$result) {
echo "Recommendation failed" . "<br />";
echo $sql;
} else {
print "$song, $artist, $album";
}
ob_end_flush();

?>

Я проверил, что каждое имя пользователя, пароль, ссылка верны и действительны. Мой сервер на самом деле работает на PHP. Мне кажется, что PHP-код даже не работает.

Огромное спасибо заранее.

-Cameron

-1

Решение

Включите отчеты об ошибках, добавив это в верхней части страницы:

ini_set("display_errors",true);

и измените эту строку:

$link = mysqli_connect("$host", "$username", "$password")

в

$link = mysqli_connect($host, $username, $password,$db_name);

Пожалуйста, посмотрите, как работать с MySQLi

0

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

Вместо '$album'. '$artwork'. '$linkitunes' Делать: '$album', '$artwork', '$linkitunes', сохраняя данные.

0

Попробуй это :-

$sql = $sql . " VALUES ('".$_SESSION['user_id']."', '$artist', '$song', '$album', '$artwork', '$linkitunes')";

вместо

$sql = $sql . " VALUES ('$_SESSION['user_id']', '$artist', '$song', '$album'. '$artwork'. '$linkitunes');";
0