2017-02-21 2 views
0

私はインデックスページへの投稿がのPHP MySQLの取得&ポストクエリは

のindex.php?coursecode = COURSECODEHERE

のように私の非可変クエリがうまく機能していることのページを持っている優れています。すべてのテーブルをExcelファイルとして提供します。

このクエリを変数とともに使用する必要があります。

<?php 
require_once('dbconnect.php'); 


$setCounter = 0; 

$setExcelName = "download_excal_file"; 

$setSql = "SELECT * FROM courses WHERE coursecode POSTED VARIABLE COURSECODE HERE"; 

$setRec = mysql_query($setSql); 

$setCounter = mysql_num_fields($setRec); 

for ($i = 0; $i < $setCounter; $i++) { 
    $setMainHeader .= mysql_field_name($setRec, $i)."\t"; 
} 

while($rec = mysql_fetch_row($setRec)) { 
    $rowLine = ''; 
    foreach($rec as $value)  { 
    if(!isset($value) || $value == "") { 
     $value = "\t"; 
    } else { 
//It escape all the special charactor, quotes from the data. 
     $value = strip_tags(str_replace('"', '""', $value)); 
     $value = '"' . $value . '"' . "\t"; 
    } 
    $rowLine .= $value; 
    } 
    $setData .= trim($rowLine)."\n"; 
} 
    $setData = str_replace("\r", "", $setData); 

if ($setData == "") { 
    $setData = "\n no matching records found\n"; 
} 

$setCounter = mysql_num_fields($setRec); 



//This Header is used to make data download instead of display the data 
header("Content-type: application/octet-stream"); 

header("Content-Disposition: attachment; filename=".$setExcelName."_Reoprt.xls"); 

header("Pragma: no-cache"); 
header("Expires: 0"); 

//It will print all the Table row as Excel file row with selected column name as header. 
echo ucwords($setMainHeader)."\n".$setData."\n"; 
?> 

どうすればいいですか?できるだけ早く

2.-は必ず入力をサニタイズ

答えて

0

1.- mysql_は、非推奨PDOまたはmysqliのためのスイッチである、あなたは、データベースからあなたのリンクを呼び出し、ものを挿入(またはものを削除する)ことが誰だか知っていることはありません。

あなたのような何かを行うことができます、と言った:

$setSql = "SELECT * FROM courses WHERE 
coursecode LIKE '".sanitizeThisShit($_GET["coursecode"])."'"; 
関連する問題