-1

我正在开发一个分享歌曲名称的网站,并且我已经制作了一份推荐表格,我将其包含在每个页面中。此推荐表单采用 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 代码似乎并没有在运行。

非常感谢你。

-卡梅伦

4

4 回答 4

0

通过在页面顶部添加以下内容来打开错误报告:

ini_set("display_errors",true);

并更改此行:

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

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

请看看如何使用mysqli

于 2015-01-27T05:37:26.780 回答
0

尝试这个 :-

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

代替

$sql = $sql . " VALUES ('$_SESSION['user_id']', '$artist', '$song', '$album'. '$artwork'. '$linkitunes');";
于 2015-01-27T05:47:18.047 回答
0

而不是'$album'. '$artwork'. '$linkitunes'Do: '$album', '$artwork', '$linkitunes',同时保存数据。

于 2015-01-27T05:38:53.080 回答
0

您应该检查您正在使用的本地服务器的版本。如果您正在使用更高版本的本地服务器并且您的 php 是用较低版本编写的,则会抛出一个空白页面。

于 2021-02-06T17:02:49.647 回答