我的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版本还是什么?
答案 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)
可能是你正在获得一些额外的字符/空格。所以你可以修剪变量,然后在查询中使用。