此代码无效。我已经回应了所有内容并且在网页上显示正常,因为所有数据都收集得很好。什么是无效的是将它插入MySQL表。
这个没有存档插入的查询工作正常。但由于某种原因,MySQL不想插入我的存档副本。存档列存在,我已经仔细检查了一切。存档创建为ARCHIVE TEXT。为什么是这样?解决方法?没有打印错误。
$url = $_GET["url"];
$data = get_meta_tags($url);
echo $url = $url;
echo $tags = $data ['keywords']; // php documentation
echo $desc = $data ['description']; // a php manual
$archive = strip_tags(file_get_contents($url));
include("../library/config.php");
mysql_query("INSERT INTO URLs(url, description, tags, archive) VALUES ('$url', '$desc', '$tags', '$archive')", $link);
echo mysql_error($link);
答案 0 :(得分:0)
$ archive中是否包含单引号字符?如果是这样,您已关闭insert语句的字符串。研究使用绑定变量。
更好的是,使用PDO。 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
答案 1 :(得分:0)
我不确定为什么它没有给你一个错误,因为它应该是!您正在获取未知URL的全部内容并尝试将其插入表列。你应该先逃避它......
$archive = mysql_real_escape_string(strip_tags(file_get_contents($url)), $link);
基本上,这将根据表的编码正确地转义引号字符。如果mysql_connect是从包含的../library/config.php文件发生的,那么你应该在该行代码之后进行此转义,因为它引用了$ link连接。