MySQL可以在本地主机上运行,但不能在线运行


MySQL works on localhost but not online

我的mysql查询在本地主机上运行良好,但它不能像我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版本还是什么?

在运行查询之前尝试添加此项,以查看脚本试图对sql库调用的确切内容:

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

编辑:

另外,删除$tbl_prod周围的"标记",因为您不需要这些标记。

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

当您尝试执行查询时,其中一个表名有大写字母,而另一个没有,则查询将失败。

table!=Table

是否var_dump($tbl_prod)可能正在获取一些额外的字符/空格。这样您就可以修剪变量,然后在查询中使用。

相关文章: