MySQL不会插入某些字段

时间:2011-06-02 18:07:13

标签: php mysql

此代码无效。我已经回应了所有内容并且在网页上显示正常,因为所有数据都收集得很好。什么是无效的是将它插入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);

2 个答案:

答案 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连接。