2014-10-29 4 views
0

Я не уверен, что это возможно, но я пытаюсь создать функцию, которая может строить запросы MYSQL.

У этого есть базовый запрос. Если URL имеет значение get (script.php? Game = AGame), он получит переменную get и переименует ее. Затем скрипт добавит необходимые данные, необходимые для завершения запроса 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); 

Однако при выполнении кода я получаю следующие ошибки:

Примечание: Используйте неопределенной постоянной игры - предполагаемую «игры» в /www/sites/164/index.php на линии 46

Примечание: Использование неопределенной константы г - предполагается, «г» в /www/sites/164/index.php на линии 46

Примечания: Использование неопределенной постоянной игры GAME_TITLE - предполагается «GAME_TITLE» в/WWW/сайтах /164/index.php в строке 46

Любая помощь будет оценена по достоинству.

+1

Это возможно, когда вы понимаете, 3 вещи: 1. Ассоциативный тип ключ массива является строкой 2. Попробуйте 'var_dump', что вы передаете в качестве ключа первые 3. строковые литералы заключенные в одиночные или двойные кавычки – zerkms

+0

и 4. имена полей не заключены в одинарные кавычки. Ничто, ни обратные выходы. То есть ' – developerwjk

+1

Вы код уязвим для атак SQL Injection. Пожалуйста, изучите эту тему, прежде чем писать производственный код, который ведет переговоры с базами данных. – DampeS8N

ответ

0

Вызов функции это

build_query('g', 'game', 'game_title'); 
Смежные вопросы