在我的PHP脚本我想在MySQL语句中使用的变量名作为表名,但是当我使用变量来为桌子命名它给我一个语法错误,如果没有使用`并且在使用'时说'不正确的表名''。代码附加以下为什么不能PHP变量被用作在MySQL INSERT语句中的表名
function toQuery($tblName){
$t = "testtitle";
$art = "testarticle";
$auth = "testauthor";
return "INSERT INTO `$tblName` VALUES ('$t', '$art', '$auth', null)";
}
mysql_connect("localhost","testuser","pass123");
mysql_query("Use `test_schema`");
if(mysql_query(toQuery("test_table"))){
echo "Query: ".toQuery("test_table")." was run.";
}else{
echo "Query: ".toQuery("test_table")." was not run. ".mysql_error();
}
当我使用它回声相同的查询,如果我只是把TEST_TABLE直接在查询返回的变量$ tblName变量,而是一个与出查询变量正确执行。
什么是实际的错误信息?另外,你可能想看看['mysql_select_db()'](http://php.net/manual/en/function.mysql-select-db.php) – Phil 2012-02-06 05:34:49
$ tblName附近的错误消息变量是: 不正确的表名' – pmurph 2012-02-06 05:40:12