2011-08-11 3 views
0

맞습니다. 저는 PHP/MySQL을 처음 접했을뿐만 아니라 심지어 머리 속에서도 간단해야한다고 생각합니다. 그러나 필자는 그것을 작성하는 법을 배울 수 없습니다. 일 :값이 null인지 확인하고, 값이 0이면 인쇄하고, 그렇지 않으면 인쇄 값을 반환합니다. 도움?

MySQL의 문을 얻을 값의 모든 셀의 행 = ID가, PHP는 다음 (이 비트는 내가 할 수있는) 적절한 장소에서 그들을 인쇄 경우, 말했다 행의 값이 null의 경우가있어, 내가 돈 해당 값과 관련된 아무 것도 인쇄하지 않으려면 그렇지 않으면 정상적으로 계속하십시오.

즉 :

-- Other code -- 

if (value where id = id == null) { 

} 
else { 
Twitter: @Twitter 
} 
+0

당신이하려고하는 SQL 또는 PHP를 작성 하시겠습니까? –

답변

3

정확한 문제가 무엇입니까? 간단한 if 문은 정상적으로 처리됩니다.

$result = mysql_query("SELECT * FROM somewhere"); 

while($row = mysql_fetch_assoc($result)) 
{ 
if($row['someValue'] != '') 
{ 
    echo $row['someValue']; 
} 
} 
+0

그게 효과가! 감사합니다 :) 죄송합니다! – AviateX14

+0

항상 데이터베이스에 공백 이외의 값이 포함되어있을 가능성이 있습니다. 'trim'은 PHP 나 SQL에서 도움이 될 것입니다. MySQL 트림에서는 공간에서만 작동합니다. –

+0

나는 동의해야한다. SQL 쿼리에서 특정 필드가 비어 있는지 확인한다. 이것은 더 많은 공연이 될 것입니다. – TJHeuvel

2

SQL을 사용하면 프로그램에서 가져와야하는 행 수를 제한 할 수 있습니다. 열 값 중 하나가 널인 모든 행을 무시하려면 null이 아니도록 요구되는 각 열에 대해 IS NOT NULL 조건을 정의하십시오. 예를 들어

SELECT id, label value 
FROM my_very_special_Table 
WHERE id = ? 
    AND label IS NOT NULL 
    AND value IS NOT NULL 

공백 만있는 문자열이나 문자열이 항상있을 수 있습니다. MySQL은 최소한 Oracle과 달리 빈 문자열을 null 값과 구별하는 것 같습니다. 즉 '' <> NULL이 참입니다.

이 경우에는 VALUE <> '' 또는 LENGTH(VALUE) > 0으로 정상적으로 작동하도록 조건을 수정해야합니다. 공백을 없애기 위해 트리밍을 추가 할 수 있지만, MySQL에서는 trim doesn't remove any other white-space characters입니다. 당신은 또한 정규 표현식을 다시 일치시킬 수 있습니다. 그러나 아마도 약간 느릴 것입니다.

null 값과 빈 문자열을 모두 사용하는 경우 두 시나리오를 모두 다루어야합니다.

+0

더 나은 해결책은 증상을 수정하는 것입니다. –

0

그것은 당신이 PHP로 MySQL의에서 데이터를 얻는 방법에 따라 달라집니다,하지만 당신은로 MYSQL_ASSOC() 같은 funcion를 사용하는 경우, 당신은 PHP에서 값이 NULL도있을 것입니다 :

if ([value where id = id] !== null) { 
    Twitter: @Twitter; 
관련 문제