如果用户发送AGE值为null,则不执行。如何在MySQL中正确编写
$result = mysqli_query("select * from ident where FirstName = '$first_name' && $age != '' && Age = $age")
;
答案 0 :(得分:5)
您可以使用
if(!empty($age)){
//do sql operation
}
如果您只想要特定年龄组,也可以添加约束。 例如:如果您希望年龄组在18到40之间
if ($_POST["age"] < 18 || $_POST["age"] > 40){
//print error message
}
else{
//do sql operation
}
答案 1 :(得分:0)
你的问题不是很清楚,所以我会提供PHP和&amp; 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
}
答案 2 :(得分:0)
SELECT
*
FROM
`ident`
WHERE
FirstName = '$first_name'
&& Age != ''
&& Age = $age
&& Age IS NOT NULL;
答案 3 :(得分:0)
if ($age !== null) {
$result = mysqli_query("select * from ident where FirstName = '$first_name' Age = $age");
//etc..
}
答案 4 :(得分:0)
在查询数据库之前,您应该在PHP页面上进行检查。
<?php
if(!empty($age)) {
$result = mysqli_query("select * from ident where FirstName = '$first_name' AND Age = '$age'");
}
?>
答案 5 :(得分:0)
这应该在查询构建方面完成,如果未按预期满足某些值,您可能希望抛出异常
<强> PHP 强>
使用is_null()
方法或@Huey
if(isset($age) and !is_null($age) and intval($age) > 0){
$result = mysqli_query("SELECT * FROM ident WHERE FirstName = '$first_name' AND Age = $age");
}