Таблица клиентов имеет два интересующих поля:
userName (varchar)
userID (varchar)
Таблица адресов имеет два интересующих поля
userID (varchar)
addressName (varchar)
Я хочу выбрать адресные имена для конкретного клиента, используя:
Код: Выделить всё
$sql = "SELECT addressName FROM addresses
WHERE userID = (SELECT userID FROM customers WHERE userName = :userName)";
$stmt = $db->prepare($sql);
$stmt->bindParam(':userName', $customerName);
$stmt->execute();
$addresses = $stmt->fetchall();
Единственный способ заставить его работать — сначала запустить подзапрос, чтобы получить идентификатор пользователя, а затем подключить его в качестве параметра к основному запросу, который неуклюж, но имеет то преимущество, что работает с PHP 7.4 и PHP 8.
Я не могу понять, что я делаю неправильно
Не могли бы вы показать мне ошибку моего пути?
большое спасибо
Подробнее здесь: https://stackoverflow.com/questions/798 ... -with-php8
Мобильная версия