这个PHP脚本有什么问题?

时间:2010-12-19 20:37:10

标签: php mysql meta-tags keyword

<?php

$url = $_GET['url'];
if($url == "") {
  die("Invalid Request! Missing Parameter 1!");
  exit;
}
$tags = get_meta_tags($url);
$key = $tags['keywords'];
$desc = $tags['description'];

$con = mysql_connect('HOST', 'USER', 'PASS') or die(mysql_error());
mysql_select_db('zach_WebLock', $con) or die(mysql_error());
$query = "INSERT INTO `Keyword` (`Site`, `Keyword`, `Description`) VALUES ('".$site."', '".$key."', '".$desc."')";
mysql_query($query) or die(mysql_error());

echo '<b>Site: <u>'.$url.'</u></b>';
echo '<br>';
echo '<b>Description:</b>';
echo '<br>';
echo $desc;
echo '<br><br>';

$keys = explode(',', $key);
foreach($keys as $word) {
  echo $word;
  echo '<br>';
} 



?>

此脚本在?url =变量中提取URL的关键字和描述。它显示所有信息,不会引发任何错误,但不会将信息写入数据库。有任何想法吗? (

(我已经省去了mysql_real_escape_string()进行测试)

2 个答案:

答案 0 :(得分:3)

您正在尝试插入未定义的变量$site。也许你的意思是$url

如果情况并非如此,请提供更多信息。你从mysql_error()获得任何输出吗?

答案 1 :(得分:0)

您需要添加''以允许KeyWord表中的主键的AUTO INCREMENTATION,这应该可以阻止MySQL Error的发生。

$query = "INSERT INTO 'Keyword' VALUES ('','$site', '$key', '$desc')";
echo $query;

如果这不能解决您的解决方案,我建议您在运行脚本时回显查询并查看任何空白值,并在必要时进行修复。如果您仍然遇到问题,请复制粘贴从脚本中回显的预期INSERT查询,并在PhpMyAdmin中对其进行测试,看看是否得到了不同的结果(错误)。