두 개의 다른 특정 열을 가져오고 싶습니다. 이미이 테스트를 거쳤으며 두 번째 fetchColumn이 작동하지 않는다는 것을 명확하게 보여줍니다.하지만 echo를 시도했기 때문에 작동하지 않습니다. 그 다음 않는 다음 일반 사용자를 얻을 경우 관리자 권한을 얻는 경우에, 나는 $ 관리 변수에 값이 아닌지이 코드를 검사 할두 개의 서로 다른 fetchColumns가 작동하지 않음
$stmt = $pdo->prepare('SELECT * FROM logins WHERE login_name = :username');
$criteria = ['username' => $_POST['Username']];
$stmt->execute($criteria);
$user = $stmt->fetchColumn(1);
$admin = $stmt->fetchColumn(6);
if (password_verify($_POST['Password'], $user) && !empty($admin)) {
$_SESSION['adminlogin'] = true;
$_SESSION['loggedin'] = true;
$_SESSION['adminloginname'] = $_POST['Username'];
header('location: adminpage.php');
}
elseif (password_verify($_POST['Password'], $user)) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $_POST['Username'];
header('location: latestarticles.php');
} else {
echo '<p> Wrong password </p>';
}
}
: 첫째 fetchColumn는
이 코드입니다 진상. 하지만 $ admin = $ stmt-> fetchColumn (6); 결과가 표시되지 않습니다.
업데이트 : 방금 시도한 한 가지는 첫 번째 fetchColumn 아래에 다른 검색 쿼리를 추가하는 것이었지만 작동하지만 확실한 방법 일 수는 없습니다. 더 쉬운 것이 있어야합니다. 내 코드는 이제 다음과 같습니다
$stmt = $pdo->prepare('SELECT * FROM logins WHERE login_name = :username');
$criteria = ['username' => $_POST['Username']];
$stmt->execute($criteria);
$user = $stmt->fetchColumn(1);
$stmt = $pdo->prepare('SELECT * FROM logins WHERE login_name = :username');
$criteria = ['username' => $_POST['Username']];
$stmt->execute($criteria);
$admin = $stmt->fetchColumn(6);
if (password_verify($_POST['Password'], $user) && !empty($admin)) {
$_SESSION['adminlogin'] = true;
$_SESSION['loggedin'] = true;
$_SESSION['adminloginname'] = $_POST['Username'];
header('location: adminpage.php');
}
elseif (password_verify($_POST['Password'], $user)) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $_POST['Username'];
header('location: latestarticles.php');
} else {
echo '<p> Wrong password </p>';
}
가 왜 fetchColumn이 가져올 수있는 유일한 방법이라고 생각합니까 :
여기은 PHP 설명서를 참조입니다 PDO에? –