는 그래서 mysqli 개체를 사용하여 쿼리를 만들기위한 올바른 형식은 다음과 같습니다올바른 mysqli 객체의 논리를 설명
if ($result = $hookup->query($sql))
하지 :
if ($result == $hookup->query($sql))
왜 모든이가 있다고 가정 않습니다 케이스? 올바른 형식 뒤에있는 논리는 무엇입니까?
는 그래서 mysqli 개체를 사용하여 쿼리를 만들기위한 올바른 형식은 다음과 같습니다올바른 mysqli 객체의 논리를 설명
if ($result = $hookup->query($sql))
하지 :
if ($result == $hookup->query($sql))
왜 모든이가 있다고 가정 않습니다 케이스? 올바른 형식 뒤에있는 논리는 무엇입니까?
다른 상황에서 사용되는 두 가지가 있습니다.
첫번째 예 (하나 =
함께) 의미 :
을
query()
의 결과에 해당하는 경우 - 아와 방법에 의해, 그 결과를 할당하는 새로운 변수$result
- 다음이 수행 .. ..
결과를 한 번에 지정하고 확인하는 것은 간단합니다. 당신이 보여주는 맥락에서, 이것은 보통 당신이 원하는 것입니다. $result
의 값이 다음 수행 query()
호출의 리턴 값과 같으면
두 번째 예 (두 ==
)는
수단 .....
첫 번째 예 (올바른 것) 은의 결과를 $hookup->query($sql)
에 $result
으로 할당 한 다음 if
에서 "진실성"으로 평가합니다.
번째 예는 는 $hookup->query($sql)
의 결과 $result
의 값을 기존과 비교한다. $result
이 아직 "truey"가 아니면 if
은 false로 평가됩니다.
은 mysqli_query
에서 반환 할 수 없거나 실패하면 false입니다.
if (false) ... always false
if (mysqli_result) ... always true
그러나, 나는 항상 같은 나중에 사용하기 위해 저장 $의 결과로 더 많은 유연성이 아직 예외를 보장 할 수 있도록이 작업을 수행
$result = $hookup->query($sql;
if ($result instanceof mysqli_result)
{
/* query success, proceed with something else */
}
else
{
/* query fail, execption */
}