Что не так с этим сценарием PHP? - PullRequest
0 голосов
/ 19 декабря 2010
<?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 ]

3 голосов
/ 19 декабря 2010

Вы пытаетесь вставить переменную $site, которая не определена.Возможно, вы имели в виду $url?

Если это не так, предоставьте больше информацииВы получаете какой-либо вывод от mysql_error()?

0 голосов
/ 02 августа 2011

Вам необходимо добавить '', чтобы разрешить АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ для вашего первичного ключа в таблице KeyWord, что должно предотвратить возникновение ошибки MySQL.

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

Если это не исправит ваше решение, я бы порекомендовал повторить запрос при запуске сценария и просмотре любых пустых значений, исправьте их при необходимости.Если у вас все еще есть проблемы, скопируйте и вставьте ожидаемый INSERT-запрос, который был выведен из сценария, и протестируйте его в PhpMyAdmin и посмотрите, не получите ли вы другой результат (ошибки).

...