mysqli выполняет не возвращая результаты, когда используется условие where - PullRequest
0 голосов
/ 09 апреля 2019

Привет! У меня есть параметризованный запрос, который я пытаюсь выполнить и получить лучший результат. Когда у меня есть предложение 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();

Есть идеи?

1 Ответ

0 голосов
/ 09 апреля 2019

Согласно ответу @NigelRen, запросы были правильными, но входное значение не соответствовало ожидаемому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...