это вся функция? Вы даже не запускаете запрос. Все, что вы делаете, это создаете строку с SQL и не запускаете ее.
Edit:
Я думаю, вам нужна помощь в понимании области видимости переменных в PHP.
http://php.net/manual/en/language.variables.scope.php
В основном это говорит о том, что код внутри функции не имеет доступа к переменным (большинству переменных), определенным вне функции. Так, например:
$test = "test value";
function testFunc(){
//Since the code inside this function can't
//access the variables outside of this function
//the variable $test below is just an empty
//variable.
echo $test;
}
testFunc();
Это также работает в обратном порядке, когда переменные внутри функции не доступны вне этой функции. Это то, что вы делаете неправильно.
function testFunc(){
$someNewVar = "some new string";
}
testFunc();
//$someNewVar is never defined outside the function so it doesn't exist.
echo $someNewVar;
После завершения работы функции все объявленные и используемые внутри нее переменные удаляются из памяти.
Итак, чтобы получить переменную в функцию, вам нужно передать ее в качестве аргумента. Чтобы вывести переменную, необходимо, чтобы функция возвращала переменную.
function testFunc($testVar){
echo $testVar;
$testVar = "some new string";
return $testVar;
}
$test = "test val";
//passing the variable into the function and setting
//the return value back into $test.
$test = testFunc($test);
echo $test; //test now has "some new string".
Честно говоря, страница php опишет это лучше, чем я. но это должно дать вам представление о том, что не так.