Intereting Posts
Реализация PHP $ _SESSION Проверка конфликтов дат в MySQL Метод статического метода PHP против экземпляра Как заменить PhpRenderer в приложении ZF2 Как получить значение из одного столбца таблицы, когда два столбца с одинаковым именем существуют в соединении sql PHP, используйте strtotime для вычитания минут из переменной даты и времени? Php – заменить базовый цвет прозрачного png изображения XML-анализ с помощью php Получение ошибки mysqli :: real_connect (): (HY000 / 2002): нет такого файла или каталога, когда я пытаюсь получить доступ к моему проекту на реальном сервере php-cgi.exe завершает работу после 500 ударов Загрузить панель выполнения в PHP curl posting с приложением заголовка / x-www-form-urlencoded Посмотрите, существует ли значение в группе в регулярном выражении, а затем манипулирует ею в тексте Отправить несколько форм с помощью одной кнопки как объединить несколько URL-адресов в многомерный массив?

простой отслеживатель исходящих ссылок. Почему это не работает?

<?php /** Connect to DB */ mysql_connect("localhost", "dbuser", "pass") or die(mysql_error()); mysql_select_db("dbname") or die(mysql_error()); $link_id = $_GET['link_id']; /** increase the counter of the URL*/ mysql_query("UPDATE link_count SET count = count + 1 WHERE ID = $link_id") or die(mysql_error()); /** retrieve URL */ $result = mysql_query("SELECT * FROM link_count WHERE ID = $link_id") or die(mysql_error()); $row = mysql_fetch_array($result); header( "Location:" .$row['URL'] ); ?> 

Конечно, информация о db была изменена для публикации здесь. Где я пытаюсь использовать

 count.php?link_id=1 

в ссылке я получаю «Неизвестный столбец« ID »в« where clause »»

Я проверил, чтобы были все одиночные кавычки вместо обратных ссылок …

EDIT: решение, предоставленное @Kai Qing в комментарии к ответу CanSpice.

Solutions Collecting From Web of "простой отслеживатель исходящих ссылок. Почему это не работает?"

Ваш столбец, вероятно, имеет имя id , а не ID . Имена столбцов зависят от регистра.

Я бы предложил убедиться, что ваш столбец на самом деле называется ID, а не id. Он говорит вам, что столбец не существует, и может быть, потому что на самом деле он не существует, как указано. Кроме того, count – это зарезервированный термин mysql. измените это на следующее:

 mysql_query("UPDATE link_count SET `count` = `count` + 1 WHERE ID = $link_id") or die(mysql_error()); 

и перед тем, как вы прочитаете лекции о отверстиях для инъекций, оберните свой $ link_id следующим образом:

 mysql_real_escape_string($link_id) 
  $sql = sprintf("UPDATE link_count SET count = count + 1 WHERE ID = %s",mysql_real_escape_string($_GET['link_id'])); mysql_query($sql) or die(mysql_error()); 

Кроме того, вы можете не захотеть распечатать все свои mysql_errors, как только это будет в производстве.