У меня есть веб-страница, которая отправляет запрос в мою базу данных MySQL, чтобы получить информацию о поставщиках моей компании и отразить результаты (все до сих пор прекрасно). Затем он делает второй запрос, чтобы проверить, есть ли какие-либо известные контакты, связанные с этим поставщиком:Второй MySQL-запрос не работает
while ($row = mysqli_fetch_array($result)) {
$contact = $row["contact"];
echo $row["name"] . "<br>" . $row["category"] . "<br>" . "Telephone: " .
$row["telephone"] . "<br>" . "Fax: " . $row["fax"] . "<br>" .
$row["email"] . "<br>" . $row["address"] . "<br>" .
$row["postcode"] . "<br><br>" . "Contact: " .
$contact . "<br>";
$resultContact = mysqli_query($con,"SELECT * FROM contacts WHERE name =
'$contact'");
while($rowContact = mysqli_fetch_array($resultContact)) {
echo $rowContact["telephone"] . "<br>" . $rowContact["email"];
echo "<br>";
}
}
$row
(от первого запроса и работает.) Тем не менее, echo $rowContact["telephone"] . "<br>" . $rowContact["email"];
просто печатает пробела.
Благодаря
EDIT: если я использую строковые литералы в тех случаях, когда положение, она работает как положено. Тем не менее, я использовал переменные точно так же, как я сейчас в первом запросе, и это работает! Я смущен :(
EDIT 2: первый запрос: $result = mysqli_query($con,"SELECT * FROM suppliers WHERE LOWER(name) = LOWER('$searchText')");
EDIT 3: результат делает var_dump($resultContact);
: object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(4) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }
Я предполагаю, что это означает, что запрос возвращается с таблицей хорошо, но где положение не сравнивая имя контакта, как я хочу, чтобы ...
Должно ли 'WHERE name = '$ contact'' быть' WHERE name =' $ row ["name"] '' – SeanWM
do a var_dump $ resultContact – Mihai
Почему вы выполняете два запроса вместо запроса обеих таблиц сразу с помощью ПРИСОЕДИНИТЬСЯ? – Barmar