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

时间:2016-02-01 13:34:46

标签: php

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

我可以做什么,以便我的数据库表中的输出看起来与正在打印的内容完全相同?

2 个答案:

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