我有一个PHP文件,其中我的数据库配置设置定义为常量,例如:
<?php
define(DB_HOST,"localhost");
define(DB_USERNAME,"root");
define(DB_PASSWORD,"password");
define(DB_NAME,"db_users");
define(DB_TABLE_1,"table_1");
define(DB_TABLE_2,"table_2);
?>显然,每当我想要连接到我的database..However时,我都会包含上面的文件,当我将表定义常量插入到SQL查询中时(见下文),它似乎不起作用。我是否需要正确地转义常量或以某种方式连接常量?
$query = "SELECT users FROM DB_TABLE_1";发布于 2012-01-17 01:34:17
您必须使用字符串连接(任何类型)。
$query = "SELECT users FROM " . DB_TABLE_1;常量不会像变量那样插入到字符串中。
一个简单的替代方法是使用一个变量函数:
$const = 'constant';
$query = "SELECT users FROM {$const('DB_TABLE_1')}";它将执行constant()函数并返回常量的值,但为了便于阅读,这通常不是一个好主意。
发布于 2012-01-17 01:34:44
只要把它放在引号之外,它就会工作得很好:
$query = "SELECT users FROM ".DB_TABLE_1;发布于 2014-11-21 07:21:19
我找到了两种方法。
1.-
define("VALUE1", "someValue");
$query = "SELECT * FROM TABLE WHERE `Column` /*=" . VALUE1 . "*/";2.-
define("VALUE1", "someValue");
define("VALUE2", "otherValue");
$query = "INSERT INTO TABLE (`Column1`, `Column2`) VALUES (" . VALUE1 . ", " . VALUE2 . ")";我使用的反引号()是因为我使用的是phpmyadmin,您可能不需要它们。
https://stackoverflow.com/questions/8883911
复制相似问题