저는 Stacked에서 다른 비슷한 질문을 보았습니다. 예제를 사용했습니다. 아래에 정수를 반환해야한다고 나와 있지만, 여전히 배열을 얻습니다.내 SELECT COUNT 쿼리는 정수가 아닌 배열을 반환합니다.
그래서 .. 어떻게 배열을 얻고 어떻게 정수를 얻을 수 있습니까?
function user_exists($username){
$result = mysql_query("SELECT COUNT(username) FROM logins");
// Verify it worked
if (!$result) echo mysql_error();
$row = mysql_fetch_row($result);
// Should show you an integer result.
print_r($row);
}
출력 내용 : "Array ([0] => 1)". 댓글은 정수 여야한다고 말합니다. 도움을 주시면 감사하겠습니다!
위의 코드는 테스트 목적에만, 실제로 SELECT COUNT의 값을 테스트하고 기능에 그것을 진정한 (또는 false) 부울을 반환하려고 스피 :
function user_exists($username){
$query = mysql_query("SELECT COUNT (username) FROM `logins` WHERE `username`='$username'");
return (mysql_result($query, 0)==1) ? true: false;
}
하지만 $ 쿼리 VAR 하나의 값이 아닌 배열
또한, 당신이 정말로 PDO 객체를 통해 마이그레이션해야합니다. MySQL에 접근 할 때 훨씬 더 안전합니다. – Fluffeh
@Fluffeh 우수 포인트 (방금 언급하려고했습니다). @ 개빈 - [빨간색 상자] (http://uk.php.net/manual/en/function.mysql-connect.php) 참조)? mysql_ * 함수는 더 이상 사용되지 않습니다. 새로운 코드에 사용해야하는 이유는 없습니다.대신 준비된 문과 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/mysqli)로 전환하십시오. –
@Fluffeh, Ricardo Altamirano : 성가 시게된다, 정말로 – zerkms