Crie um novo database por meio do código da página estática

Eu quero criar uma nova tabela no database atual de imprensa de texto através de criar uma página estática. Eu escrevo código para isso como abaixo, mas não houve resultado. Por que é isso, e como posso entender isso?

 

prefix.'your_users'; $sql="CREATE TABLE IF NOT EXISTS $my_table (id int(20) not null auto_increment,name varchar(40) not null,password varchar(20) notnull,PRIMARY KEY(id))"; include_once(ABSPATH.'wp-admin/includes/upgrade.php'); dbDelta($sql); ?>

Solutions Collecting From Web of "Crie um novo database por meio do código da página estática"

DBDelta é extremamente exigente – até o ponto de enlouquecer às vezes. Do Codex:

  • Você deve colocar cada campo em sua própria linha em sua instrução SQL.
  • Você deve ter dois espaços entre as palavras PRIMARY KEY e a definição de sua chave primária.
  • Você deve usar a palavra-chave KEY em vez do índice de sinônimo e você deve include pelo menos uma CHAVE.
  • Você não deve usar nenhum apóstrofo ou backticks em torno de nomes de campo.

Parece-me que você violou pelo menos duas dessas regras. Você deveria ter algo mais parecido com isto:

 $sql=" CREATE TABLE $my_table ( id int(20) not null auto_increment, name varchar(40) not null, password varchar(20) notnull, PRIMARY KEY id );"; 

Eu removi IF NOT EXISTS . dbdelta irá atualizar a tabela se a tabela precisar de atualização e deixá-la em paz, caso contrário, daí o nome “delta de database”. Em matemática “delta” – a letra grega – significa algo como “mudança” ou “diferença”.

Eu não prometo que esse código funcionará, pois, como eu disse, dbdelta é muito exigente. Estou certo de que é o formato da sua declaração SQL que é o problema e isso deve fazer com que você se mova na direção certa.