如果用戶發送AGE值null,則不執行。我如何在MySQL中正確編寫如何在mysql語法中檢查用戶值是否爲null?
$result = mysqli_query("select * from ident where FirstName = '$first_name' && $age != '' && Age = $age")
;
如果用戶發送AGE值null,則不執行。我如何在MySQL中正確編寫如何在mysql語法中檢查用戶值是否爲null?
$result = mysqli_query("select * from ident where FirstName = '$first_name' && $age != '' && Age = $age")
;
你不在在你的問題非常清楚,所以我將提供兩個PHP MySQL的&:
MySQL的
使用IS NOT NULL
。 Reference
SELECT * FROM ident
WHERE FirstName = '$first_name'
AND Age IS NOT NULL
AND Age = $age
PHP
使用empty()
或isset()
。 Reference.
if(!empty($age)){
//execute mySQL
}
不工作,先生! – user3181614
謝謝我只是刪除了現場製造麻煩! – user3181614
SELECT
*
FROM
`ident`
WHERE
FirstName = '$first_name'
&& Age != ''
&& Age = $age
&& Age IS NOT NULL;
if ($age !== null) {
$result = mysqli_query("select * from ident where FirstName = '$first_name' Age = $age");
//etc..
}
@ user3181614不用擔心。 – NewInTheBusiness
您應該查詢數據庫之前,PHP網頁上檢查。
<?php
if(!empty($age)) {
$result = mysqli_query("select * from ident where FirstName = '$first_name' AND Age = '$age'");
}
?>
謝謝你Tashi Delek! – user3181614
這應該在查詢建設方來完成,你可能要拋出一個異常,如果某些值不被@Huey
滿足預期PHP 使用is_null()
方法或者說
if(isset($age) and !is_null($age) and intval($age) > 0){
$result = mysqli_query("SELECT * FROM ident WHERE FirstName = '$first_name' AND Age = $age");
}
謝謝。扎西德勒克! – user3181614
您可以使用
if(!empty($age)){
//do sql operation
}
如果只需要特定的年齡段,還可以添加約束條件。 例如:如果你想年齡介乎18歲至40
if ($_POST["age"] < 18 || $_POST["age"] > 40){
//print error message
}
else{
//do sql operation
}
我想他是問如何在mySQL查詢中做到這一點。 – Huey
只是澄清:你擔心你的MySQL表年齡列將是NULL,或者PHP變量'$ age'將爲空? – Huey
可能的重複[如何檢查列是否爲空或在MySQL](http://stackoverflow.com/questions/8470813/how-do-i-check-if-a-column-is-empty-或null-in-mysql) – Huey