2014-10-29 183 views
0

我不确定这是否可能,但我试图构建一个可以构建MYSQL查询的函数。

它有一个基本查询。如果URL有一个get值(script.php?game = AGame),它将获取变量并重命名它。然后,该脚本将附加相应所需的完成MYSQL查询所需的数据。

function build_query($getvar, $renamevar, $dbfield){ 
     $query = "SELECT * FROM release_dates "; 
     $arguments = 0; 

     if(isset($_GET['$getvar'])){ 
     $renamevar = $_GET['$getvar']; 

     if($arguments >= 1){ 
       $query .= "AND '$dbfield' = '$renamevar' "; 
       $arguments = $arguments +1; 
      } 
      else{ 
       $query .= "'$dbfield' = '$renamevar' "; 
      } 
     } 
    } 

    build_query(g, game, game_title); 

但是,在运行出现以下错误代码时:

注意:使用未定义的常量游戏 - 在线46

在/www/sites/164/index.php假定“游戏”

注意:使用未定义常数g - 在/www/sites/164/index.php假定 'G' 上线46

说明:使用未定义的常量GAME_TITLE的 - 假定 'GAME_TITLE' 是/ www /位点/164/index.php在线46

任何帮助,将不胜感激。

+1

当你意识到三件事有可能:1,关联数组键类型为字符串2.尽量'var_dump'你传递什么作为关键的3字符串文字用单引号或双引号括起来 – zerkms 2014-10-29 21:00:41

+0

和4.字段名不用单引号括起来。无论是什么,或反引号。即' – developerwjk 2014-10-29 21:03:10

+1

你的代码容易受到SQL注入攻击。在编写与数据库交谈的产品代码之前,请研究此主题。 – DampeS8N 2014-10-29 21:04:43

回答

0

调用此函数

build_query('g', 'game', 'game_title');