나는 input
상자가 많습니다. 각 입력 상자는 INT 또는 DECIMAL MySQL 필드와 연결되어 있으며 텍스트 상자 안에 표시됩니다.null/no 값으로 INT/DECIMAL 필드를 업데이트하십시오.
각 INT/DECIMAL의 기본값은 null
이므로 사용자가 처음 페이지를 열면 텍스트 상자 안에 아무 것도 표시되지 않습니다.
각 입력란의 값을 존경받는 MySQL 필드로 업데이트하는 업데이트 쿼리가 있습니다.
내 문제는 각 입력 상자에 아무것도 입력하지 않으면 필드 값이 NULL에서 0
으로 전환된다는 것입니다.
un-touch 된 입력을 NULL로 업데이트하는 방법을 알아내는 데 어려움을 겪고 있으며, 내 손길이 닿지 않은 값은 0으로 가지 않습니다. 아무도 도와 줄 수 있습니까?
if(nullBlank($_POST['variable1']) == false)
$variable1 = $_POST['variable1'];
else
$variable = "";
나는 또한 시도했다 : : $variable = null;
내 업데이트 쿼리는 기본적으로 다음과 같습니다
mysql_query("UPDATE `table` SET `variable1`= '" . $variable1 . "' WHERE something = something
내 변수를 정의하는 것은 기본적으로 같은 간다 내 nullBlan k() 함수
function nullBlank($data)
{
if(is_null($data))
$value = true;
elseif(strlen($data) <= 0)
$value = true;
elseif($data === "")
$value = true;
else
$value = false;
return $value;
}
http://stackoverflow.com/questions/4054638/null -in-query-values-in-0-00-in-mysql? rq = 1 첫 번째 대답은 꽤 정확할 것으로 보인다. http://stackoverflow.com/questions/7711649/trying-to-insert -null-if-input-field-left-blank? rq = 1은 Null을 정확하게 검사하고 전달하는 코드가 있습니다. – duindain
@duindain 나는 그럴 수 있다고 생각했습니다. 그러나 텍스트 상자에 입력 된 내용이 있으면이를 처리하는 방법을 확인하려면 어떻게해야합니까? 왜냐하면 내가 '1'값을 가지고 있다면 "1"을 할 필요가 없기 때문이다. SQL에 전달되는 값이 약 100입니다. – bryan
SQL의 숫자 인 경우'\'variable1 \'= 1'이 좋습니다. –