메신저 아직 초기 학습 단계에 있으며 단서를 찾는 벽에 머리를 두드리는 소리가납니다. Iv는 사용 설명서를 읽지 않았습니다. phpAcadamy 튜토리얼 'Register & 로그인'을 기반으로 시스템에 사용자 로그인을 구축합니다. 그들은 튜토리얼에서 mysql_connect를 사용하지만, 나는 mysql에 PDO 연결을 사용하고있다.PDO를 사용하는 user_exists 함수가 mysql에 연결
내 첫 번째 함수 user_exists는 POST 된 $ username과 일치하는 이름에 대해 내 테이블의 사용자 이름 열을 쿼리 한 다음 true 또는 false를 반환합니다. 바닥에 문이 위의 기능을 테스트해야하는 경우
$host = "localhost";
$username = "mholberg_skroovy";
$password = "*omitted*";
$dbname = "mholberg_skroovytest";
$db = new PDO("mysql:host={$host};dbname={$dbname};", $username, $password);
function user_exists($username) {
$query = $db->query("SELECT `users`.`username` FROM `users` WHERE `username` = '$username'");
return($query, 0) == 1) ? true : false; // ???
}
if (user_exists('junkomatic') === true) {
echo 'exists';
}
die();
:
여기 내 테스트 코드입니다. ???와 라인? 명백하게 틀린 선이다. 임 '에 오류가 발생했습니다. 모든 입력/설명은 대단히 감사하겠습니다.
당신은 확실히 아래에 답변을 가지고,하지만 난 궁금 :
이 대신 같은 것을해야 할 것입니다. return ($ query, 0) == 1)은 무엇입니까? 허위 사실; 정말? (나는 전에 그것을 보지 못했습니다) – bestprogrammerintheworld
@bestprogrammerintheworld 이론상 오류가 발생했습니다. 어쨌든 누락 된 괄호가 있습니다! – Ivo
@bardoo - 더 자세히 설명하려고 노력했습니다. 나는 당신의 실제 코드가 무엇을하고 있는지 모른다. 그러나 내가 어떻게했을지를 대답했다. (사용자가있을 때 true로 돌아 간다.) – bestprogrammerintheworld