Risultati della ricerca per 'Create database in wordpress'
-
-
Ciao a tutti,
vi prego di scusarmi in anticipo, non sono assolutamente un esperto in materia e sto cercando di arrangiarmi come posso…
In breve: il sito wordpress-based di una amica è stato mesi fa compromesso da un attacco hacker, suppongo mediante una shell php… ho visto così tanti code-injection in tutti i file php che la cosa più naturale mi è sembrata ripartire ex novo.
La mia amica non ha nessuna conoscenza in merito e il sito le era stato fatto da un web designer, suo conoscente, con cui tuttavia non ha più mantenuto i rapporti.Ho scaricato l’intero sito via FTP e volevo provare a metterlo in piedi in locale, se non altro per vedere come è stato configurato il look & feel del sito.
Per fare ciò ho seguito questa guida:
https://codex.wordpress.org/Test_Driving_WordPress#Installing_an_Existing_WordPress_Site
ma mi sono arenato sull’import del database via phpMyAdmin integrato in XAMPP.
Da quanto ho visto, il db mysql del sito constava di due tabelle:
information_schema
<sitename>_com_one
dove <sitename> è il nome del sito.
Ho esportato il contenuto del DB in un file SQL e dopo aver rimpiazzato, come da guida, tutte le istanze della URL http://www.sitename.com con http://localhost/sitename.com, ho provato a fare l’IMPORT del file sql in myPHPAdmin.
Ho ottenuto inizialmente un errore sulla prima riga:
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;Ho proceduto a commentarla, e ora mi viene segnalato l’errore sulla seguente:
CREATE DATABASEinformation_schemaDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;Ho commentato anche questa, dato che “information_schema” è presente di default nel db MySQL integrato in XAMPP. L’errore triggerato a questo punto è sulla istruzione successiva:
USEinformation_schema;Pensando che anche questo potesse esser non necessario, ho commentato anche questa riga.
L’errore successivo è sulla riga seguente:
CREATE TEMPORARY TABLECHARACTER_SETS(
CHARACTER_SET_NAMEvarchar(32) NOT NULL DEFAULT ”,
DEFAULT_COLLATE_NAMEvarchar(32) NOT NULL DEFAULT ”,
DESCRIPTIONvarchar(60) NOT NULL DEFAULT ”,
MAXLENbigint(3) NOT NULL DEFAULT ‘0’
) ENGINE=MEMORY DEFAULT CHARSET=utf8;A questo punto mi son fermato perchè ho pensato che il problema potesse essere altrove.
Qualcuno ha una idea ? Non so dove sbattere la testa.
Grazie per il prezioso supporto 🙂
-
Ciao ragazzi.
Ho una funzione all’interno di una classe che deve inserire una riga dentro il database, la riga viene inserita con successo e la funzione è la seguente:public function create_channel($name, $options) { global $wpdb; $opt_string = implode(';', $options); if(($userid = get_current_user_id()) > 0) { $wpdb->insert($wpdb->prefix.'_channels', array( 'founder' => $userid, 'name' => $name, 'options' => $opt_string ), array('%d','%s','%s')); return $wpdb->insert_id; } else return false; }D’altra parte, la funzione viene chiamata in un hook di WordPress (plugin activation hook) e questa è la parte che riguarda il problema:
$chan = new Channel(); if($chan->count_channels() == 0) $cid = $chan->create_channel('Default', $settings->options['channel']); throw new Exception(var_export($cid));Il problema è che $cid (che dovrebbe essere $wpdb->insert_id è NULL nonostante la riga venga inserita con successo, e nonostante la procedura sia quella! Ho provato anche a prendere la variabile da MySQL con $wpdb->get_var(‘SELECT LAST_INSERT_ID();’); ma niente, anche cosi mi da un valore nullo!
La tabella contiene una colonna AUTO_INCREMENT che è anche indicizzata da una chiave primaria, aiutatemi perché sto impazzendo da ore.
___Piccolo accorgimento:
Mi sono accorto che nella funzione “create_channel”, prima che venga eseguito l’inserimento della riga, l’oggetto $wpdb può essere messo in mostra correttamente (throw new Exception(var_export($wpdb))), mentre subito dopo l’inserimento della riga, se viene rifatta la stessa operazione (ovvero throw new Exception ecc.. quella scritta qua sopra) l’oggetto è assente, praticamente non mostra nulla (nemmeno NULL), proprio 0 caratteri.Aiutatemi gentilmente, ve ne sarò grato!
-