mysqli_query 给我无法解决的消息

mysqli_query giving me unsolvable message

我正在尝试制作一个基本的歌曲信息页面,但我唯一的问题是 SQL。我不断收到此消息:

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /var/www/tts/recommend-action.php on line 33

这是我的代码:

<?php

session_start();

ini_set("display_errors",true);

ob_start();

$host = "localhost"; 
$user = "root";
$pass = "[MYPASSWORD]";
$db = "[MYDATABASE]";
$tb = "recommendation";

$link = mysqli_connect($host, $user, $pass, $db) or die("Failed to connect.");

$song = $_POST['song'];
$album = $_POST['album'];
$artist = $_POST['artist'];
$linkitunes = $_POST['linkitunes'];
$artwork = $_POST['albumPic'];

$song = stripslashes($song);
$album = stripslashes($album);
$artist = stripslashes($artist);
$link = stripslashes($linkitunes);
$artwork = stripslashes($artwork);

print "<br /><br /><b>User ID: </b>" . $_SESSION['user_id'] . "<br /><b>Song: </b>$song<br /><b>Album: </b>$album<br /><b>Artist: </b>$artist<br /><br />";

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

$postrec = mysqli_query($link, $sql);

if ($postrec == true) {
    print "sucess";
}
else {
    print "<br /><br />failed";
}

ob_flush();

?>

我找不到解决办法。非常感谢帮助。

您连接正常并且 $link 很好:

$link = mysqli_connect($host, $user, $pass, $db) or die("Failed to connect.");

但随后重新定义为字符串:

$link = stripslashes($linkitunes);

然后您尝试使用字符串:

$postrec = mysqli_query($link, $sql);