Привет! У меня есть параметризованный запрос, который я пытаюсь выполнить и получить лучший результат. Когда у меня есть предложение user_id where, результаты не возвращаются, несмотря на соответствие первой строки. Мой синтаксис как-то не так, но я не вижу, в чем проблема.
Таким образом, это возвращает результат:
$stmt = mysqli_stmt_init($conn);
$stmt = $conn->prepare("SELECT member_id, company_name FROM member");
$execute_result = $stmt->execute();
if (!$execute_result)
{
throw new Exception("Execute failed: (" . $stmt->errno . ") " . $stmt->error);
}
$stmt->bind_result($col_member_id, $col_company_name);
if ($stmt->fetch())
{
$_SESSION['member_id'] = $col_member_id;
$_SESSION['company_name'] = $col_company_name;
}
$stmt->close();
Но это не так:
$stmt = mysqli_stmt_init($conn);
$stmt = $conn->prepare("SELECT member_id, company_name FROM member WHERE userid=?");
$bind_result = $stmt->bind_param("s", $userid);
$execute_result = $stmt->execute();
if (!$execute_result)
{
throw new Exception("Execute failed: (" . $stmt->errno . ") " . $stmt->error);
}
$stmt->bind_result($col_member_id, $col_company_name);
if ($stmt->fetch())
{
## Doesn't come in here for some reason
$_SESSION['member_id'] = $col_member_id;
$_SESSION['company_name'] = $col_company_name;
}
$stmt->close();
Есть идеи?