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