我似乎无法弄清楚这一点,我正在尝试全球化我应用程序中的所有数据库凭据,因此我在全局常量文件中设置数据库表名称。 我有一个查询,无论我尝试以多少种方式在字符串中设置常量变量,它都会惨败。 有人有什么想法吗?
这是常量变量更改之前的查询,它有效:
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM crmManager");
以下是一些失败的不同尝试(常量变量为 TBL_NAVIGATION):
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM " . TBL_NAVIGATION . ");
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM".TBL_NAVIGATION.");
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM".TBL_NAVIGATION);
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM {TBL_NAVIGATION}");
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM".TBL_NAVIGATION");
我什至尝试最初将其设置为变量:
$table = TBL_NAVIGATION;
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM {table}");
// I've tried every possible way to include the variable
我该如何解决这个问题?谢谢!
常量后不需要 "。
"SELECT MAX(salesPosition) FROM " . TBL_NAVIGATION
始终检查语法是这里要学习的教训:
正确的查询是:
$stmt = $dbh->prepare("SELECT MAX(salesPosition) FROM ".TBL_NAVIGATION);
感谢凯伊叫醒我!