2015-08-01 2 views
-1

Я столкнулся с небольшими неприятностями здесь, я сделал несколько поисков в Google и Stackexchange, чтобы узнать, ответил ли кто-то еще об этом раньше, но не добавил полезный контент поэтому я прошу о помощи. У меня есть имя столбца, которое существует в базе данных, однако по какой-то причине запрос к MySQL продолжает говорить, что индекс по имени этого столбца не существует (Undefined index :) - это то, что я получаю, но оно определено в таблице, поэтому Я подумал, что, возможно, я мог бы пойти по этому пути, сначала запросив идентификатор, а затем выберем связанное значение column_name с этой конкретной строкой id. Затем я хочу вернуть это значение переменной $ column_name, чтобы использовать эту переменную в моем следующем запросе. Обычно, когда я делаю $ id = $ _REQUEST ['id']; Я получаю текущий идентификатор для объекта, отображаемого в браузере. Но это «column_name» продолжает возвращать неопределенную ошибку индекса. Тем не менее он существует в БД так же, как и в столбце Идентификатор. Почему я могу позвонить одному, а не другому?Выбор определенного столбца в строке, связанной с определенным идентификатором

Как я могу вызвать указанное имя_колла, связанное с идентификатором в $ _REQUEST ['id']; глобальная переменная?

В БД вы найдете:

id = "Value" 

itemId = "Item ID" 

CategoryName = "Category" 

Если я прошу ID 1, как я могу принести связанный CategoryName с этим идентификатором?

Благодарим за помощь!

 $id = $_REQUEST['id']; 

      if(!empty($id)){ 
       $column_name = $this->dbConnection->query("SELECT column_name FROM table //That is directly associated with $id"); 
      } 
+0

сообщение вашей структуры БД, а также. – Akshay

+0

У вас есть неопределенный индекс из mysql или PHP? – frz3993

+0

@ frz3993 Я думаю, что получаю это от php, потому что это происходит в точке, где я делаю $ categoryName = $ _REQUEST ['CategoryName']; Поэтому я ищу другой способ, так как это похоже на $ _REQUEST ['id']; просто хорошо. –

ответ

2

я был в состоянии исправить это благодаря @ frz3993, добавив CategoryName = {некоторое имя кошки} к динамически генерируемые ссылки перенаправления на страницу в вопросе, а также делает значение категории динамически генерируемый также.

На предыдущей странице требуется модификация ссылки, такие как

href="DynamicallyGeneratedLink.php?categoryName=%s&id=%s" 

Это было в состоянии сделать название категории доступны для $ _REQUEST []; чтобы затем использовать его для создания новой динамически созданной ссылки, которая позволит посетителям вернуться к предыдущему полному списку элементов в категории без необходимости использовать кнопку «Назад».

Теперь следующий код выглядит

function backToCategoryList($dbConnection){ 

     $categoryName = $_REQUEST['categoryName']; 

     if($r = $this->dbConnection->query("SELECT categoryName FROM table WHERE categoryName = '$categoryName' LIMIT 1")){ 
      while($d = $r->fetch_assoc()){ 
       printf("<a href=\"%s?categoryName=%s\"><i class=\"icon icon-th\"></i></a>", $d['link'], $d['categoryName']); 
      }    
     } 
    } 
2

Добавьте $ идентификатор в предложении WHERE в запросе:

$column_name = $this->dbConnection->query("SELECT CategoryName FROM table WHERE id = $id"); 

Кроме того, помните, чтобы избежать всех параметров, отправляемые в Databse, без него $ ID будет уязвим для атак SQL-инъекции ,

Удачи :)

+0

Я пробовал, но не повезло. Я проверяю, может ли какая-либо форма функции соединения sql между категорией элементов и списком категорий помочь мне вытащить больше данных, чем просто название категории, так как мне понадобятся некоторые данные в отдельной таблице, чтобы закончить это. –

+0

Можете ли вы разместить свои соответствующие таблицы с некоторыми примерами данных? также я обновил свой запрос с правильным именем столбца :) – Richard87

+0

@ frz3993 помог мне понять, что было не так в ссылке, и это помогло мне придумать решение, которое я опубликовал. –

Смежные вопросы