这个PHP脚本有什么问题?

<?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()进行测试)     
已邀请:
您正在尝试插入未定义的变量
$site
。也许你的意思是
$url
? 如果情况并非如此,请提供更多信息。你从
mysql_error()
得到任何输出?     
您需要添加''以允许KeyWord表中的主键的AUTO INCREMENTATION,这应该可以阻止MySQL Error的发生。
$query = "INSERT INTO 'Keyword' VALUES ('','$site', '$key', '$desc')";
echo $query;
如果这不能解决您的解决方案,我建议您在运行脚本时回显查询并查看任何空白值,并在必要时进行修复。如果您仍然遇到问题,请复制粘贴从脚本回显的预期INSERT查询,并在PhpMyAdmin中对其进行测试,看看是否得到了不同的结果(错误)。     

要回复问题请先登录注册