2014-03-28 5 views
0

와() 함수 PHP bindParam 여러 매개 변수들 무슨 일이야

나는 다음과 같은 코드를 가지고 : 나는 bindParam() 함수에 여러 매개 변수를 추가 할 수있는 방법

$selectUserQuery = 'SELECT email_address, password FROM user WHERE email_address = :email_address AND password = :password'; 
$prepSelectUser = $conn->prepare($selectUserQuery); 
/* 
* HOW DO I ADD MULTIPLE PARAMETERS TO THIS BINDPARAM() FUNCTION? 
*/ 
$prepSelectUser->bindParam(':email_address', $email, PDO::PARAM_INT); 
$prepSelectUser->execute(); 
$userResult = $prepSelectUser->fetchAll(); 
$userCount = count($userResult); 

를?

+0

죄송합니다. 그래도 문제는 발생하지 않습니까? – user3456043

+0

바인딩하려는 각 매개 변수에 대해 'bindParam()'을 한 번만 호출하십시오. – DaveRandom

답변

1

먼저,

$prepSelectUser->bindParam(':email_address', $email, PDO::PARAM_INT); 

$prepSelectUser->bindParam(':email_address', $email, PDO::PARAM_STR); 

그때 당신은 실제로 모두이 기능을 필요가 없습니다

$prepSelectUser->bindParam(':password', $password, PDO::PARAM_STR); 
+0

그래, 내가 실수를 발견했다. 나는 다른 웹 사이트에서이 코드를 복사했기 때문에 그것을 만들었고 실제로 PDO를 이해하지 못했습니다 (처음에는 아랍어처럼 보입니다 : D). 나는 그것을 고쳐서 STR로 바꿨다. 기본적으로 두 번째 bindParam() 함수를 추가하여이 작업을 수행해야합니다. 감사! – user3456043

5

처럼, 다른 bindParam 전화를 변경합니다. 뿐만 아니라 다른 코드 대부분을 사용합니다.

$sql = 'SELECT 1 FROM user WHERE email_address = ? AND password = ?'; 
$stmt = $conn->prepare($sql); 
$stmt->execute([$email, $password]); 
$userCount = $stmt->fetchColumn(); 
+0

팁 주셔서 감사합니다! 오우, btw, 여기서 사람들은 지속적인 연결에 대해 어떻게 생각하니? 어떤 사람들은 그것을 사용한다고 말합니다. 왜냐하면 모든 것을 더 빠르게 만들고, 다른 사람들은 그것이 좋지 않기 때문입니다. 이 점이나 다른 사람의 의견은 어떻습니까? – user3456043

+0

무엇을하고 있는지 확실히 알지 않으면 사용하지 마십시오. –