У меня есть фрагмент оператора pdo, который я хочу использовать в качестве оператора mysqli, но я, похоже, не понимаю, как это происходит.
Я пытаюсь "преобразовать" amysqli-> execute (array ()) из оператора pdo в оператор mysqli.
Из того, что я понял, есть оператор execute (), который не ожидает никаких параметров с mysqli, но с PDO он ожидаетпараметр?
Это код, который я хочу преобразовать как выражение mysqli:
$sql = "SELECT * FROM users WHERE username = :username";
$sth = $GLOBALS["DB"]->prepare($sql);
$sth->execute(array(":username" => $username));
$result = $sth->fetchAll();
if (!empty($result)) {
$privUser = new PrivilegedUser();
$privUser->user_id = $result[0]["user_id"];
$privUser->username = $username;
$privUser->password = $result[0]["password"];
$privUser->email_addr = $result[0]["email_addr"];
$privUser->initRoles();
return $privUser;
} else {
return false;
}
, и это мой текущий код:
$sql = "SELECT * FROM users WHERE user_id = ?";
$stmt = $mysqli -> prepare($sql);
$stmt->bind_param('s', $user_id);
// line below is what i need to convert to a mysqli statement
$stmt->execute(array(":user_id" => $user_id));
//$stmt->store_result();
$result = $stmt->fetchAll();
if (!empty($result)) {
$privUser = new PrivilegedUser();
$privUser->user_id = $result[0]["user_id"];
$privUser->username = $user_id;
$privUser->password = $result[0]["password"];
$privUser->email_addr = $result[0]["email_addr"];
$privUser->initRoles();
return $privUser;
} else {
return false;
}