我不知道写什么,一定很简单,但无法弄清楚。 我有一个我想要的SQL请求。
简单请求:
SELECT name FROM #table WHERE id=$id AND phone='$phone'
假设我没有提供$ phone变量或为空,我可以从select语句中删除所有AND phone ='$ phone'。所以它会是
SELECT name FROM #table WHERE id=$id
答案 0 :(得分:2)
据推测,您正在构建此查询,因此只需动态构建它。基本逻辑是:
if ($phone == '') {
$sql = "SELECT name ... WHERE id=$id"
} else {
$sql = "SELECT name ... WHERE id=$id AND phone='$phone'";
}
答案 1 :(得分:1)
为什么不呢?
SELECT name FROM #table WHERE id=$id AND (phone='$phone' or '$phone' = '')
您是否因[手机]上的索引而对性能进行故障排除?
答案 2 :(得分:0)
$query = "SELECT name FROM #table WHERE id=$id";
if(isset($phone)){
$query .= " AND phone = '$phone'";
}
答案 3 :(得分:0)
检查是否先设置$phone
变量。
我也假设你的手机变量应该是一个整数。
if($phone AND isset($phone)) {
$phone = intval($phone);
if($phone) {
// sql query with the phone variable
} else {
// sql query without the phone variable
}
}