Php MySql表名连接

Php MySql表名连接,php,mysql,Php,Mysql,在MySQL中创建时,我需要定义一个表名,第一部分是已定义的前缀,最后一部分是我自己的表名,在将它们传递到查询之前,我希望避免创建额外的变量来保存它们 我的代码被包装在一个类中,我已经将我的表名定义为一个私有静态变量,我的代码看起来有效,但不起作用 这就是我迄今为止所尝试的: CREATE TABLE '$wpdb->prefix.self::$table' // doesn't work CREATE TABLE self::$table

在MySQL中创建时,我需要定义一个表名,第一部分是已定义的前缀,最后一部分是我自己的表名,在将它们传递到查询之前,我希望避免创建额外的变量来保存它们

我的代码被包装在一个类中,我已经将我的表名定义为一个
私有静态
变量,我的代码看起来有效,但不起作用

这就是我迄今为止所尝试的:

CREATE TABLE '$wpdb->prefix.self::$table'     // doesn't work
CREATE TABLE self::$table                     // doesn't work
CREATE TABLE $wpdb->prefix                    // works
CREATE TABLE {$wpdb->prefix.self::$table}     // error
CREATE TABLE $wpdb->prefix.self::$table       // just stupid

$tableName = $wpdb->prefix.self::$table;
CREATE TABLE $tableName                       // works
谁能给我一个知识冲击

$sql = "CREATE TABLE {$wpdb->prefix}".{self::$table};

注意,
$wpdb->prefix
self::$table

之间的大括号和no
静态属性将不会正确插入双引号字符串中。您需要连接它

"CREATE TABLE {$wpdb->prefix}" . self::$table;

不,不起作用,尝试过但忘记添加到列表中。但是由于“CREATE TABLE self::$TABLE”不起作用,问题一定在别处。这可能会引起
注意:未定义的变量$TABLE
。您的类中是否声明了静态变量
$TABLE
?@J0HN:我的类中的第一件事:私有静态$TABLE='workdammit';嗯,那么表定义呢<代码>创建表格表格不足以创建它。应该类似于
createtable-table-as(id int)
.Aww,这正是我试图避免的:(。@然后我可能会在每个函数调用中将表名定义为变量,就像在您的工作示例中一样。
$tableName=$wpdb->prefix.self:$table;