【发布时间】:2012-06-23 23:30:59
【问题描述】:
过去几天我一直在编写这个脚本,但似乎找不到将数据插入 MySQL 的方法。我是 PHP/MYSQL 的初学者,之前只写过几个简单的脚本。我能够回显抓取的数据并且没有收到任何错误消息,但是当我检查 phpmyadmin 时,查询不起作用(结果没有输入到数据库中)。
这是我一直在处理的代码
require ("mysqli_connect.php");
include('../simple_html_dom.php');
ini_set('user_agent',
'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
// get DOM from URL or file
$html = file_get_html('http://www.asos.com/Women/Jeans/Cat/pgecategory.aspx?cid=3630&via=lhn');
// find all images
foreach($html->find('#items') as $a)
echo $a->innertext .'<br>';
foreach($html->find('span.price') as $p)
echo $p->innertext .',';
$q = "INSERT INTO jeans (`image`, `price`) VALUES ('$a', '$p')";
$r = @mysqli_query ($dbc, $q) or die ("Update query failed : " . mysql_error());; //Run the Query.
【问题讨论】:
-
谢谢尼克,甚至为此苦苦挣扎!
-
尝试回显
$q并在phpmyadmin中运行它;这将显示您的 SQL 是否存在错误,或者您的数据库连接是否存在错误。 -
如果 $a->innertext 和 $p->innertext 包含有效值,您可能想要插入它们。
-
你有 mysqli_query 和 mysql_error。考虑到您的要求是 mysqli_connect,我认为最后的 mysql_error() 函数应该是 mysqli_error()。这可能会帮助您获得更多信息。
-
谢谢 Kingcoyote,我没发现。我将其更改为 mysqli,它向我显示了错误消息:警告:mysqli_error() 只需要 1 个参数,0 在第 32 行的 /domainname.com 中给出
标签: php mysql curl insert screen-scraping