MySQL可以在localhost上运行,但不能在线运行

时间:2014-09-18 08:35:05

标签: php mysql sql

我的mysql查询在我的localhost上工作正常,但它不能用于FTP到服务器。问题在于动态表选择$tbl_prod.

$branch     = $_SESSION['branch'];    //value is shukey main_products(yes with space)
$tbl_prod   = $branch . "_products";  //for selecting dynamic table from database

$query      =   mysqli_query($db_connect, "SELECT * FROM `$tbl_prod` ORDER BY `prod_id` DESC LIMIT 5") or exit(mysqli_error());

但是,当我尝试使用name of the table directly时它可以正常工作,但这不是我想要的东西,因为我希望动态选择表格。

$query      =   mysqli_query($db_connect, "SELECT * FROM `shukey main_products` ORDER BY `prod_id` DESC LIMIT 5") or exit(mysqli_error());

无论如何我能解决这个问题吗?这是关于mysql版本还是什么?

3 个答案:

答案 0 :(得分:1)

尝试在运行查询之前添加它,以查看脚本尝试针对sql base调用的确切内容:

echo "SELECT * FROM `$tbl_prod` ORDER BY `prod_id` DESC LIMIT 5"

编辑:

同样,删除围绕$ tbl_prod的`标记,因为你不需要那些。

答案 1 :(得分:1)

您的问题是您正在使用Windows计算机进行开发,而您的服务器是Linux计算机。 Windows不区分大小写,但Linux是。

当您尝试执行查询并且一个表名具有大写而另一个表名没有时,查询将失败。

table!= Table

答案 2 :(得分:0)

var_dump($tbl_prod)可能是你正在获得一些额外的字符/空格。所以你可以修剪变量,然后在查询中使用。