入力値があるのですが、そのSQL文を合理的に判断する方法はありますか。 phpページのフィールドが空の場合、そのフィールドは検索条件として使用されません。他にどのような方法がありますか? $sql="t から * を選択"/> 入力値があるのですが、そのSQL文を合理的に判断する方法はありますか。 phpページのフィールドが空の場合、そのフィールドは検索条件として使用されません。他にどのような方法がありますか? $sql="t から * を選択">

ホームページ  >  記事  >  バックエンド開発  >  SQLでnull値判定が渡された場合の対処方法

SQLでnull値判定が渡された場合の対処方法

WBOY
WBOYオリジナル
2016-06-13 13:13:39873ブラウズ

SQLで渡されたnull値の判定
などの入力値が4つあるのですが
処理されたPHPページへのアクション
何かありますか?このメソッドは、フィールドが空の場合、そのフィールドが検索条件として使用されないことを PHP ページの SQL ステートメントに合理的に決定させることができます
枯渇以外に、他にどのようなメソッドがありますか?
$sql="select * from table where ..."


例:
html

名前:
年齢:
性別:
身長:


chuli.php
//データベース接続部分を省略します
$sql="select * from students where name='$name' and age='$age' and sex='$sex' and height='$height';//これはすべてです
$result = mysql_query($sql,$con);

//枯渇以外に、入力データが空の場合に $sql の実行を判断する方法はありますか?
//入力が 4 つある場合、c41+c42+c43+c44+1=4+6+4+1+1=16 の状況がありますよね?

-----解決策---------

PHP コード
foreach(array_diff($_POST, array('')) as $k=>$v)
  $r[] = "$k='$v'";

$sql = "select * from students where ". join(' および ', $r);
<br><font color="#e78608">------解決策---------</font><br>そのはずです、1 つ減らしてください ''<br><br>
PHP コード
$sql="select * from students where 1=1";
if(!empty($_POST['name'])) $sql=" および name='$_POST[name]'";
if(!empty($_POST['age'])) $sql=" および age='$_POST[age]'";
if(!empty($_POST['sex'])) $sql=" および sex='$_POST[sex]'";
if(!empty($_POST['高さ'])) $sql=" および高さ='$_POST[高さ]'"; <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。