我正在一个网站上分享歌曲的名称,我已经制作了一个推荐表格,我在每个页面都包含这些表格。此推荐表单以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
答案 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 是用较低版本编写的,则会抛出一个空白页面。