2013-07-22 3 views
-1

Код: $ result = mysql_query ("SELECT 1 FROM mxhost_slayer_licensekeys WHERE lkey_key = '$ auth'") или die (mysql_error());Newb PHP get variable insertion

Как я могу заменить «убийцу» после «mxhost_» переменной $ get?

Я попытался

Код: $ Результат = mysql_query ("SELECT 1 FROM mxhost _ '$ script'_licensekeys WHERE lkey_key = '$ Auth'") или умереть (mysql_error());

и прочие отклонения ...

Заранее спасибо.

ответ

0
$result = mysql_query(" 
SELECT 1 FROM mxhost_'" . mysql_real_escape_string($script) . "'_licensekeys 
WHERE lkey_key = '$auth'") or die(mysql_error()); 

непосредственно вставив $_GET переменную в запрос к базе данных очень опасно и может привести к неожиданным результатам. Вы должны всегда санировать вход пользователя и избегать их.

Кроме того, все расширение mysql PHP, которое предоставляет все функции с именем префикс mysql_, равно officially deprecated as of PHP v5.5.0 и будет удалено в будущем. Рекомендуется использовать PDO или mysqli.

+0

Спасибо, что сработало, как я могу сделать это для базы данных var, хотя? $ user2 = "mxhost_slayer"; И.Е. – user2608564

+0

Вы пытаетесь вставить другую переменную? Если да, то вы можете следовать одному и тому же методу. Подробнее о [конкатенировании] (http://php.net/manual/en/language.operators.string.php) переменных. –

0
$var = $_GET['your get variable'] 

$result = mysql_query("SELECT 1 FROM mxhost_".$var."_licensekeys WHERE lkey_key = '$auth'") or die(mysql_error()); 

посмотреть, если это работает

к сведению, что это не очень безопасный подход, но скорее доказательство концепции вещи.