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

情報を変数にロードしていますが、これをデータと呼ばれる 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 に答える