1

我从 rss 提要中提取数据,我想将标题和描述添加到 mysql 数据库的同一行(不同字段)中

$result = $xml->xpath('//title');  //finding the title tags in the xml document and loading into variable
$result1 = $xml->xpath('//description');  //finding the title tags in the xml document and loading into variable

我正在将信息加载到变量中,但不明白如何将其插入到名为 data 的 mysql 表中?

这听起来很容易,但我正在为它的数组而苦苦挣扎。

4

3 回答 3

2

尝试以下方式:(更新)

<?php
    $con = mysql_connect("localhost","yourdbusername","yourdbpassword");
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("yourdbname", $con);

    $query = sprintf("INSERT INTO `data` (`title`, `description`) VALUES ('%s','%s');",
                         mysql_real_escape_string($result),
                         mysql_real_escape_string($result1));

    mysql_query($query);

    mysql_close($con);
?>
于 2012-04-14T01:40:53.653 回答
1

您将需要更改节点名称,但这应该这样做 -

<?php
$db = new PDO('mysql:dbname=test;host=127.0.0.1', 'user', 'pass');

$sql = "INSERT INTO tbl (title, description) VALUES (?, ?)";
$stmt = $db->prepare($sql);

$rss = simplexml_load_file('path_to_rss_feed');

foreach ($rss->articles as $article) {
    $stmt->execute(array($article->title, $article->description));
}
于 2012-04-14T02:15:06.353 回答
0

假设您的表设置有名为“标题”和“描述”的列,您是否尝试过这样的事情?

$rows=array();

foreach($result as $title){
  $rows[]="('".mysql_real_escape_string($title)."','".mysql_real_escape_string(array_shift($result1))."')");
}
mysql_query("INSERT INTO data (title, description) VALUES ".implode(',',$rows);

编辑:足够公平;)添加了 mysql_real_escape_string

于 2012-04-14T01:44:36.837 回答