テーブルの列名を変数で表現する方法はありますか?SQLクエリで変数にCOLUMN NAMEを表す方法はありますか?
以下の例のように、Switch - case:DATEでは、列(visit_date)を書き込む代わりに、変数$ d_statusを使用します。 ありがとうございました。 PHPで
$s_id = mysql_prep($s_id);
$d_status = "visit_date";
$searchby = mysql_prep($searchby);
$searchtext = mysql_prep($searchtext);
$query = "SELECT * ";
$query .= "FROM doctor ";
$query .= "WHERE (s_id = $s_id) AND (d_status = '{$d_status}') ";
switch ($searchby){
case 'd_name':
$query .= "AND (d_name = '{$searchtext}')";
break;
case 'd_id':
$query .= "AND (d_id = $searchtext)";
break;
case 'DATE':
$query .= "AND ($d_status = '{$searchtext}')";
break;
Default: null;
break;
$result = mysqli_query($connection, $query);
confirm_query($result);
return $result;
}
あなたのコードはSQLインジェクションに脆弱です。上記の例では –