2014-01-11 17 views
-4

如何使用mysql中的变量从select中选择语句?像这样:从mysql使用php变量selcet

$db = $_POST['db']; 
$query = "SELECT * FROM $db.."; 
+1

你应该到白名单它允许表名。 – mario

+0

我做了,但由于某种原因找不到它找不到它,所以我在这里问。 – durian

+0

开始[这里](http://prototype.php.net/manual/en/mysqli.quickstart.prepared-statements.php) –

回答

2

为了从字面上回答这个问题:

$db = $_POST['db']; 
$query = "SELECT * FROM {$db}.."; 

OR

$query = "SELECT * FROM {$_POST['db']}.."; 

OR

$query = "SELECT * FROM ".$_POST['db'].".."; 

正如其他人所说,接受来自POST unsanitized输入确实是一个非常糟糕的主意

起码你应该做到以下几点

$db = $mysqli->real_escape_string($_POST['db']); 

将ATLEAST确保其他命令将不会如插入,更新或GRANT插入