【问题标题】:How to add data off HTML page into MySQL DB如何将 HTML 页面外的数据添加到 MySQL 数据库中
【发布时间】:2011-01-09 22:46:01
【问题描述】:

如何根据属性将 HTML 页面中的数据添加到 MySQL 数据库中?

它已经抓取了数据,但我想将链接导入表中的特定字段,并从中删除一些内容(无法解决),并将另一个内容从表中的另一个字段中删除。

我有 PHP/MySQL 和 Linux。我应该使用 curl,如果是,我该如何将数据添加到 MySQL 数据库中?

【问题讨论】:

  • 您是否已经在数据库中创建了一个表格,以便将抓取的数据插入其中?
  • 是的,我有。我只需要弄清楚如何将数据插入其中。
  • 您能否举例说明您希望如何存储链接以及获取链接所需的数据类型?
  • 链接是指向该产品所在商店的直接链接。这些链接只需存储为storename.com/product。我还需要将 a href...> text here 位导入另一个字段(价格)。它是一种每周缓存产品价格以便与其他 API/脚本一起使用的工具。

标签: php mysql html scrape


【解决方案1】:

一些插入和更新数据的 PHP 示例:

//***************************************   
// Connect to database
//
mysql_connect('127.0.0.1','MyUserName','MyPassword',false,MYSQL_CLIENT_SSL|MYSQL_CLIENT_COMPRESS);
mysql_select_db('MyDatabase');

// If you work with UTF-8 it would be a good idea to set the character set as well to be sure.
//mysql_set_charset('utf8_general_ci');

//***************************************   
// Insert new data
//
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/product/");
$Result = mysql_query("INSERT INTO ProductTable (URLField) VALUES ('".$MyURL."')");
if($Result)
 print mysql_affected_rows();

//***************************************   
// Update existing data
//
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/newproduct/");
$RecordID = 123;
$Result = mysql_query("UPDATE ProductTable SET URLField='".$MyURL."' WHERE ID=".$RecordID);
if($Result)
 print mysql_affected_rows();

使用mysql_connect() 连接到MySQL 服务器并使用mysql_select_db() 选择数据库。 我不是英语母语并使用 UTF-8 来正确处理所有特殊字符。如果你不需要这个,你可以忽略这一行。

所有进入 SQL Server 的数据都应该被清理,这意味着转义控制字符,例如引号。变量 $MyURL 在用于 SQL 语句之前会使用 mysql_real_escape_string() 进行清理。

SQL 语句使用mysql_query() 执行并返回真或假(对于INSERTUPDATE 语句)。使用mysql_affected_rows(),您可以查看受 SQL 语句影响的行数,这是一种查看它是否按预期工作的方法。

接下来是一个UPDATE 示例,用于更改单个列和/或行中的数据。 $RecordID 变量是您要更新的记录 ID(您需要知道要更新的记录)。这个例子是精确定位一个记录。通过更改 WHERE 子句,您可以同时更新一大堆行。例如

UPDATE ProductTable SET URLField='".$MyURL."' WHERE URLField='http://www.exampledomain.com/oldproduct/'

...将更新所有在 URLField 字段中包含“http://www.exampledomain.com/oldproduct/”的行。

我想这会让你坚持一段时间......

【讨论】:

  • 我对 PHP/MySQL 并不陌生。我在研究如何解析 HTML 文件,然后将解析后的数据插入 MySQL 字段。我已经设置了一个刮板,我只需要将数据从这个刮板中取出并输入数据库。它需要完全动态。每次有人输入不同的查询时,它都会改变。 FWIW:我在过去 2 个小时里试图让解析器正常工作,但失败了。它不会解析数据并将其插入 MySQL (SimpleXMLElement, PHP5) 是的,它的 XHTML 有效。
  • @Dean 如果您的级别太低,我很抱歉。我解释您的问题的方式是您已经提取了数据并且只想知道如何将其放入 MySQL 数据库中。因此,如果我理解您的意思,您还需要从 XHTML 文件中实际提取的帮助。您正在寻找的属性是什么?或者你的意思是元素? SimpleXMLElement 中的失败原因是什么?也许你应该更新一下你的问题。
【解决方案2】:

http://us3.php.net/manual/en/function.mysql-query.php

然后您将使用 MySQL 查询,例如“INSERT INTO table_name (column1,column2) VALUES ('Testing','Testing 2')

【讨论】:

  • 我明白这一点,只是不了解我如何获取数据....我知道如何插入它,只是不明白。
猜你喜欢
  • 2021-10-15
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 2017-07-14
  • 2020-09-06
相关资源
最近更新 更多