Итак, у меня есть 3 таблицы, например:
Table: users
user_id(int) | phone(int)
Table: products
prod_id(int) | prod_info(varchar)
Table: prod_owners
owner_id(int) | user_id | prod_id
Я создал функцию, в которой я могу разобрать номер телефона.Он будет искать этот номер телефона, чтобы получить user_id.Используя user_id, он присоединится к таблице prod_owners.Затем, используя prod_id из таблицы prod_owners, он присоединится к таблице продуктов, где user_id имеет тот же номер телефона, который мы проанализировали.
Однако, когда я запускаю функцию, я не получаю ошибок или чего-либо еще.Это просто пусто.Я знаю, что функция работает, потому что, когда я делаю SELECT * FROM пользователей.Оно работает.Я также знаю, что в таблице есть данные (данные, которые я хочу вывести).
function get_info($stmt, $phone) {
$userID = search_user($stmt, $phone); // I feel I don't even need this
// I feel I can put this in the
// sql statement itself. But I am
// unsure how
if ($userID == false) {
return "Sorry, user not found";
}
$sql = "SELECT u.user_id, o.prod_info
FROM users u
JOIN prod_owners o
USING user_id
JOIN products
USING o.prod_id
WHERE u.phone = ?";
if(!mysqli_stmt_prepare($stmt, $sql)) {
return false;
} else {
mysqli_stmt_bind_param($stmt, "i", $userID);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while($row = mysqli_fetch_assoc($result)) {
echo $row['prod_info'] . "<br>";
}
}
}