2016-07-23 5 views
-1

私はPHPファイルを操作しています。私は1つの変数($ time)でデータベースの列を検索し、 "$ time "の列が正しい構文を見つけることができません。最後に、私は渡された$ _GET ['time']を表示し、列の内容は出力しません。ここに私のコードです:DATABASEのPHP変数を持つ列名を検索し、内容を出力してください

$id = $_GET['id']; 
$time = $_GET['time']; 
$query1 = "SELECT "."'$time'"."FROM uploads 
      WHERE station_id="."'$id'"; 
$result =mysqli_query($conn,$query1) or die(mysql_error()); 
$row = mysqli_fetch_array($result, MYSQLI_ASSOC) or die(mysql_error()); 
echo json_encode($row); 

助けか?

+1

を持っているように、これは恐ろしいコードで、データベース設計を再考してください。あなたの箱入りを得るのが好きですか?また、動的列名を使用しているので、PDOでさえもこの忌み嫌いを修正することはできません。 – Johan

+0

SQLインジェクションに広くオープン - 再考が必要です。 – RamRaider

答えて

0

まず、あなたのクエリは恐ろしいものであり、注入に非常に脆弱です。 dB設計を再考する必要があります。

しかし、あなたの質問に答えるには、おそらく文に変数を入れているからです。 の代わりに:

$query1 = "SELECT "."'$time'"."FROM uploads WHERE station_id="."'$id'";

に変更し、それを:

$query1 = "SELECT ". $time ."FROM uploads WHERE station_id=".$id;

あなたは巨大な脆弱性

関連する問題