目前我有这些字符串,我需要将它们设为1个字符串而不是2个字符串,但仍然可以打印不同的结果。
$title2 = $html2->find('#wrapper > div > section > main > div > article > div.details > h1 > strong',0);
$title = $html2->find('#wrapper > div > section > main > div > article > div.details > h1 > span',0);
print $title2 = $title2->plaintext;
print ' - ';
print $title = $title->plaintext;
目前返回的内容如下所示。 艺术家姓名 - 歌曲名称
但我需要一些如何将它放入我的数据库中,当我这样做时它不起作用。
`title` = '".mysqli_real_escape_string($DB,$title2,$title)."',
我可以做什么,以便我的数据库表中的输出看起来与正在打印的内容完全相同?
答案 0 :(得分:1)
您应该以这种方式使用mysqli_real_escape_string。
$title2 = mysqli_real_escape_string($DB,$title2);
$title = mysqli_real_escape_string($DB,$title);
// Perform a concatenation operation
$joinedTitle = $title2.'-'.$title;
echo $joinedTitle;
现在将$joinedTitle
保存到您的数据库中。
答案 1 :(得分:0)
如果我理解,您正在尝试将"Artist Name - Song Name"
保存到数据库中。您正在通过正确转义字符来构建SQL查询,但您调用的函数需要2个参数而不是3个参数!
顺便说一下,你的jQuery类查询来获取你的HTML元素似乎相当长。你不能缩短它吗?
$artist = $html2->find('#wrapper div.details > h1 > strong', 0)->plaintext;
$song = $html2->find('#wrapper div.details > h1 > span', 0)->plaintext;
$title = "$artist - $song"; // Or $title = $artist . ' - ' . $song;
print $title;
$sql = 'INSERT INTO your_table (`title`) VALUES (' .
mysqli_real_escape_string($DB, $title) . ');';