我的PHP页面无效。它完全是空白的

时间:2015-01-27 05:31:39

标签: php html sql database-server

我正在一个网站上分享歌曲的名称,我已经制作了一个推荐表格,我在每个页面都包含这些表格。此推荐表单以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

4 个答案:

答案 0 :(得分:0)

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

ini_set("display_errors",true);

并更改此行:

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

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

请查看如何使用mysqli

答案 1 :(得分:0)

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

答案 2 :(得分:0)

试试这个: -

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

而不是

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

答案 3 :(得分:0)

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