向 mysql 数据库提交 2 个字符串


Submitting 2 strings to mysql database

目前我有这些字符串,我需要使它们 = 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)."',

我该怎么做才能使数据库表中的输出看起来与打印出来的完全一样?

你应该

以这种方式使用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保存到您的数据库。

如果我理解,您正在尝试将"Artist Name - Song Name"保存到数据库中。您正在通过正确转义字符来构建 SQL 查询,但您调用的函数需要 2 个参数而不是 3 个参数!

顺便说一下,获取HTML元素的jQuery类型的查询似乎相当长。你不能把它缩短一点吗?

$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) . ');';