Erstellen Sie eine neue database über den statischen Seitencode

Ich möchte eine neue Tabelle in der aktuellen database von WordPress durch Erstellen einer statischen Seite erstellen. Ich schreibe Code wie folgt, aber es gab kein Ergebnis. Warum ist das, und wie kann ich das richtig machen?

 

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 "Erstellen Sie eine neue database über den statischen Seitencode"

DBDelta ist extrem wählerisch – manchmal sogar verrückt. Aus dem Codex:

  • Sie müssen jedes Feld in eine eigene Zeile in Ihrer SQL-statement einfügen.
  • Sie müssen zwei Leerzeichen zwischen den Wörtern PRIMARY KEY und der Definition Ihres Primärschlüssels haben.
  • Sie müssen das Schlüsselwort KEY anstelle seines Synonyms INDEX verwenden, und Sie müssen mindestens einen SCHLÜSSEL einschließen.
  • Sie dürfen keine Apostrophe oder Backticks um Feldnamen verwenden.

Es sieht für mich so aus, als hättest du mindestens zwei dieser Regeln verletzt. Sie sollten etwas mehr wie folgt haben:

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

Ich habe IF NOT EXISTS . dbdelta aktualisiert die Tabelle, wenn die Tabelle aktualisiert werden muss, und lässt sie andernfalls in Ruhe, daher der Name “database-Delta”. In der Mathematik bedeutet “Delta” – der griechische Buchstabe – etwas wie “Veränderung” oder “Unterschied”.

Ich verspreche nicht, dass dieser Code funktioniert, da, wie gesagt, dbdelta sehr wählerisch ist. Ich bin sicher, dass es das Format Ihrer SQL-statement ist, das das Problem ist und das Sie in die richtige Richtung bewegen sollte.