Похоже, что основная проблема здесь в том, что вы завершили оператор php двоеточием, а не точкой с запятой, то есть $_POST['company']:
.
Кроме того, в MySQL CONCAT
есть проблемафункция.В вашем коде оно имеет:
`CONCAT(`surname`,' '.`fname`)`
Это должно разделять каждый строковый литерал или поле запятой.Кроме того, у вас есть начальный период .
перед fname
, например:
`CONCAT(`surname`, ' ', `fname`)`
Или, если поле fname
появляется в более чем одной из таблиц, поэтому требуется псевдоним, вы должны указатьэто:
`CONCAT(`surname`, ' ', `contacts`.`fname`)`
Исправленная версия ниже, попробуйте это.
$company_id = $_POST['company'];
$query = "SELECT `contact_company`.`contact_id`, CONCAT(`surname`, ' ', `fname`) AS `fullname`, `contact_company`.`company_id` FROM `seta`.`contact_company` AS `contact_company`, `seta`.`contacts` AS `contacts` WHERE `contact_company`.`contact_id` = `contacts`.`contact_id` AND `contact_company`.`company_id` ='" . mysqli_real_escape_string($company_id) . "' ";
$result = mysqli_query($connection, $query) or die("Query to get data from contact_company table failed: " . mysqli_connect_error());
while ($row = mysqli_fetch_array($result)) {
$contact_id = $row["contact_id"];
$company_id = $row["company_id"];
$contact_name = $row["fullname"];
echo "<option value=\"$contact_id\">
$contact_name
</option>";
}