Пытаюсь получить идентификатор для ссылки, чтобы перейти на следующую страницу

#php

#php

Вопрос:

Я пытаюсь получить данные по ссылке из этого кода и получаю ошибку, как показано ниже, в чем может быть проблема со строкой 3 кода?

 while ($row = mysql_fetch_assoc($result))
    {
        echo "<a href="edit_employee.php?$row['employee_id_passport']">" . $row['first_name'] ." " . $row['surname'] . "</a>";

        echo "<br />";
    }
  

Ошибка

 Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Library/WebServer/Documents/practice/employee/view_employee.php on line 14 
  

Ответ №1:

Удалите одинарные кавычки:

 echo "<a href="edit_employee.php?$row[employee_id_passport]">" . $row['first_name'] ." " . $row['surname'] . "</a>";
  

Ответ №2:

AFAIK, у вас есть 2 способа разрешить ваш запрос :

 echo "<a href="edit_employee.php?{$row['employee_id_passport']}">" . $row['first_name'] ." " . $row['surname'] . "</a>";
  

или

 echo "<a href="edit_employee.php?" . $row['employee_id_passport'] . "">" . $row['first_name'] ." " . $row['surname'] . "</a>";
  

или использование одинарных кавычек, чтобы избежать экранирования двойных кавычек

 echo '<a href="edit_employee.php?' . $row['employee_id_passport'] . '">' . $row['first_name'] . ' ' . $row['surname'] . '</a>';
  

Использование $row[employee_id_passport] приведет к появлению уведомления в журнале ошибок, поскольку employee_id_passport интерпретируется как константа.

Взгляните на руководство, первое примечание.

Ответ №3:

Вы можете убрать одинарные кавычки или использовать фигурные скобки {}, например

 {$row['employee_id_passport']}
  

Проверьте руководство по разбору переменных:

http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex