Support » Installing WordPress » New posts are not inserted into database

  • I’ve just installed WP for the first time – same goes for MySQL5 and PHP5. Everything is up and running – except that none of the posts I write ever gets inserted into the database. The table wp_posts remains empty.

    I’ve tried everything I can think off and spend the past hours searching this forum. There was another post of someone who had the same problem and he “solved” it with installing older versions of MySQL and PHP.

    Can it be that WP simply doesn’t work with the versions that I’ve installed?

    I got some error with default values when the database was created during WP install.

    I get a warning on admin->Manage page:

    PHP Warning: Invalid argument supplied for foreach() in c:\Inetpub\wwwroot\wordpress\wp-admin\edit.php on line 102

    Any help will be much appreciated.

    Thanks in advance.

Viewing 4 replies - 1 through 4 (of 4 total)
  • I’ve been using PHP5 and mySQL 5 for months with no problem. As for that error, it looks like you may have no posts at all, which has potential to trigger that error.

    Is it possible that your mySQL user lost the privledges required to INSERT data, or SELECT data, or anything else? What are the permissions for your mySQL user?

    For the time being, you may just try to downgrade to mySQL 4.1, and see if that helps.

    WordPress doesn’t seem to be compatible with MySQL 5. Downgrade to MySQL 4.1 — it should work.

    Now why would you say its not compatible when I _JUST_ said that I’ve been using it for _months_? If you look at the code and the mySQL changelogs, you would know as well as I do that there are no changes that would make the code break with the upgrade.

    I solved this problem.
    this problem was due to enhanced ‘default NULL’ check of mysql5.

    WordPress’s database scheme file is ‘wp_admin/upgrade-schema.php’

    you must change 2 writings.
    1. NOT NULL default ” -> default NULL
    2. text NOT NULL -> text

    sorry about my poor english.
    I’m Korean. 🙂

    this is my database scheme(modified)

    // Here we keep the DB structure and option values

    $wp_queries=”CREATE TABLE $wpdb->categories (
    cat_ID bigint(20) NOT NULL auto_increment,
    cat_name varchar(55) default NULL,
    category_nicename varchar(200) default NULL,
    category_description longtext,
    category_parent int(4) NOT NULL default ‘0’,
    PRIMARY KEY (cat_ID),
    KEY category_nicename (category_nicename)
    CREATE TABLE $wpdb->comments (
    comment_ID bigint(20) unsigned NOT NULL auto_increment,
    comment_post_ID int(11) NOT NULL default ‘0’,
    comment_author tinytext,
    comment_author_email varchar(100) default NULL,
    comment_author_url varchar(200) default NULL,
    comment_author_IP varchar(100) default NULL,
    comment_date datetime NOT NULL default ‘0000-00-00 00:00:00’,
    comment_date_gmt datetime NOT NULL default ‘0000-00-00 00:00:00’,
    comment_content text,
    comment_karma int(11) NOT NULL default ‘0’,
    comment_approved enum(‘0′,’1′,’spam’) NOT NULL default ‘1’,
    comment_agent varchar(255) default NULL,
    comment_type varchar(20) default NULL,
    comment_parent int(11) NOT NULL default ‘0’,
    user_id int(11) NOT NULL default ‘0’,
    PRIMARY KEY (comment_ID),
    KEY comment_approved (comment_approved),
    KEY comment_post_ID (comment_post_ID)
    CREATE TABLE $wpdb->linkcategories (
    cat_id bigint(20) NOT NULL auto_increment,
    cat_name tinytext,
    auto_toggle enum(‘Y’,’N’) NOT NULL default ‘N’,
    show_images enum(‘Y’,’N’) NOT NULL default ‘Y’,
    show_description enum(‘Y’,’N’) NOT NULL default ‘N’,
    show_rating enum(‘Y’,’N’) NOT NULL default ‘Y’,
    show_updated enum(‘Y’,’N’) NOT NULL default ‘Y’,
    sort_order varchar(64) NOT NULL default ‘rand’,
    sort_desc enum(‘Y’,’N’) NOT NULL default ‘N’,
    text_before_link varchar(128) NOT NULL default ‘

  • ‘,
    text_after_link varchar(128) NOT NULL default ‘
    text_after_all varchar(128) NOT NULL default ‘
  • ‘,
    list_limit int(11) NOT NULL default ‘-1’,
    PRIMARY KEY (cat_id)
    CREATE TABLE $wpdb->links (
    link_id bigint(20) NOT NULL auto_increment,
    link_url varchar(255) default NULL,
    link_name varchar(255) default NULL,
    link_image varchar(255) default NULL,
    link_target varchar(25) default NULL,
    link_category int(11) NOT NULL default ‘0’,
    link_description varchar(255) default NULL,
    link_visible enum(‘Y’,’N’) NOT NULL default ‘Y’,
    link_owner int(11) NOT NULL default ‘1’,
    link_rating int(11) NOT NULL default ‘0’,
    link_updated datetime NOT NULL default ‘0000-00-00 00:00:00’,
    link_rel varchar(255) default NULL,
    link_notes mediumtext,
    link_rss varchar(255) default NULL,
    PRIMARY KEY (link_id),
    KEY link_category (link_category),
    KEY link_visible (link_visible)
    CREATE TABLE $wpdb->options (
    option_id bigint(20) NOT NULL auto_increment,
    blog_id int(11) NOT NULL default ‘0’,
    option_name varchar(64) default NULL,
    option_can_override enum(‘Y’,’N’) NOT NULL default ‘Y’,
    option_type int(11) NOT NULL default ‘1’,
    option_value longtext,
    option_width int(11) NOT NULL default ’20’,
    option_height int(11) NOT NULL default ‘8’,
    option_description tinytext,
    option_admin_level int(11) NOT NULL default ‘1’,
    autoload enum(‘yes’,’no’) NOT NULL default ‘yes’,
    PRIMARY KEY (option_id,blog_id,option_name),
    KEY option_name (option_name)
    CREATE TABLE $wpdb->post2cat (
    rel_id bigint(20) NOT NULL auto_increment,
    post_id bigint(20) NOT NULL default ‘0’,
    category_id bigint(20) NOT NULL default ‘0’,
    PRIMARY KEY (rel_id),
    KEY post_id (post_id,category_id)
    CREATE TABLE $wpdb->postmeta (
    meta_id bigint(20) NOT NULL auto_increment,
    post_id bigint(20) NOT NULL default ‘0’,
    meta_key varchar(255) default NULL,
    meta_value text,
    PRIMARY KEY (meta_id),
    KEY post_id (post_id),
    KEY meta_key (meta_key)
    CREATE TABLE $wpdb->posts (
    ID bigint(20) unsigned NOT NULL auto_increment,
    post_author int(4) NOT NULL default ‘0’,
    post_date datetime NOT NULL default ‘0000-00-00 00:00:00’,
    post_date_gmt datetime NOT NULL default ‘0000-00-00 00:00:00’,
    post_content longtext,
    post_title text,
    post_category int(4) NOT NULL default ‘0’,
    post_excerpt text,
    post_status enum(‘publish’,’draft’,’private’,’static’,’object’) NOT NULL default ‘publish’,
    comment_status enum(‘open’,’closed’,’registered_only’) NOT NULL default ‘open’,
    ping_status enum(‘open’,’closed’) NOT NULL default ‘open’,
    post_password varchar(20) default NULL,
    post_name varchar(200) default NULL,
    to_ping text,
    pinged text,
    post_modified datetime NOT NULL default ‘0000-00-00 00:00:00’,
    post_modified_gmt datetime NOT NULL default ‘0000-00-00 00:00:00’,
    post_content_filtered text,
    post_parent int(11) NOT NULL default ‘0’,
    guid varchar(255) default NULL,
    menu_order int(11) NOT NULL default ‘0’,
    KEY post_name (post_name)
    CREATE TABLE $wpdb->users (
    ID bigint(20) unsigned NOT NULL auto_increment,
    user_login varchar(60) default NULL,
    user_pass varchar(64) default NULL,
    user_firstname varchar(50) default NULL,
    user_lastname varchar(50) default NULL,
    user_nickname varchar(50) default NULL,
    user_nicename varchar(50) default NULL,
    user_icq int(10) unsigned NOT NULL default ‘0’,
    user_email varchar(100) default NULL,
    user_url varchar(100) default NULL,
    user_ip varchar(15) default NULL,
    user_domain varchar(200) default NULL,
    user_browser varchar(200) default NULL,
    user_registered datetime NOT NULL default ‘0000-00-00 00:00:00’,
    user_level int(2) unsigned NOT NULL default ‘0’,
    user_aim varchar(50) default NULL,
    user_msn varchar(100) default NULL,
    user_yim varchar(50) default NULL,
    user_idmode varchar(20) default NULL,
    user_activation_key varchar(60) default NULL,
    user_status int(11) NOT NULL default ‘0’,
    user_description longtext default NULL,
    UNIQUE KEY user_login (user_login)

    function populate_options() {
    global $wpdb;

    $guessurl = preg_replace(‘|/wp-admin/.*|i’, ”, ‘http://’ . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’]);
    add_option(‘siteurl’, $guessurl, __(‘WordPress web address’));
    add_option(‘blogname’, __(‘My Weblog’), __(‘Blog title’));
    add_option(‘blogdescription’, __(‘Just another WordPress weblog’), __(‘Short tagline’));
    add_option(‘new_users_can_blog’, 0);
    add_option(‘users_can_register’, 0);
    add_option(‘admin_email’, ‘’);
    add_option(‘start_of_week’, 1);
    add_option(‘use_balanceTags’, 1);
    add_option(‘use_smilies’, 1);
    add_option(‘require_name_email’, 1);
    add_option(‘comments_notify’, 1);
    add_option(‘posts_per_rss’, 10);
    add_option(‘rss_excerpt_length’, 50);
    add_option(‘rss_use_excerpt’, 0);
    add_option(‘use_fileupload’, 0);
    add_option(‘fileupload_realpath’, ABSPATH . ‘wp-content’);
    add_option(‘fileupload_url’, get_option(‘siteurl’) . ‘/wp-content’);
    add_option(‘fileupload_allowedtypes’, ‘jpg jpeg gif png’);
    add_option(‘fileupload_maxk’, 300);
    add_option(‘fileupload_minlevel’, 6);
    add_option(‘mailserver_url’, ‘’);
    add_option(‘mailserver_login’, ‘’);
    add_option(‘mailserver_pass’, ‘password’);
    add_option(‘mailserver_port’, 110);
    add_option(‘default_category’, 1);
    add_option(‘default_comment_status’, ‘open’);
    add_option(‘default_ping_status’, ‘open’);
    add_option(‘default_pingback_flag’, 1);
    add_option(‘default_post_edit_rows’, 9);
    add_option(‘posts_per_page’, 10);
    add_option(‘what_to_show’, ‘posts’);
    add_option(‘date_format’, __(‘F j, Y’));
    add_option(‘time_format’, __(‘g:i a’));
    add_option(‘links_updated_date_format’, __(‘F j, Y g:i a’));
    add_option(‘links_recently_updated_prepend’, ‘‘);
    add_option(‘links_recently_updated_append’, ‘
    add_option(‘links_recently_updated_time’, 120);
    add_option(‘comment_moderation’, 0);
    add_option(‘moderation_notify’, 1);
    add_option(‘gzipcompression’, 0);
    add_option(‘hack_file’, 0);
    add_option(‘blog_charset’, ‘UTF-8’);
    add_option(‘ping_sites’, ‘’);
    add_option(‘advanced_edit’, 0);
    add_option(‘comment_max_links’, 2);
    // 1.5
    add_option(‘default_email_category’, 1, __(‘Posts by email go to this category’));
    add_option(‘use_linksupdate’, 0);
    add_option(‘template’, ‘default’);
    add_option(‘stylesheet’, ‘default’);
    add_option(‘comment_whitelist’, 1);
    add_option(‘comment_registration’, 0);
    add_option(‘open_proxy_check’, 1);
    add_option(‘rss_language’, ‘en’);
    add_option(‘html_type’, ‘text/html’);
    // 1.5.1
    add_option(‘use_trackback’, 0);

    // Delete unused options
    $unusedoptions = array (‘blodotgsping_url’, ‘bodyterminator’, ’emailtestonly’, ‘phoneemail_separator’, ‘smilies_directory’, ‘subjectprefix’, ‘use_bbcode’, ‘use_blodotgsping’, ‘use_phoneemail’, ‘use_quicktags’, ‘use_weblogsping’, ‘weblogs_cache_file’, ‘use_preview’, ‘use_htmltrans’, ‘smilies_directory’, ‘fileupload_allowedusers’, ‘use_phoneemail’, ‘default_post_status’, ‘default_post_category’, ‘archive_mode’, ‘time_difference’, ‘links_minadminlevel’, ‘links_use_adminlevels’, ‘links_rating_type’, ‘links_rating_char’, ‘links_rating_ignore_zero’, ‘links_rating_single_image’, ‘links_rating_image0’, ‘links_rating_image1’, ‘links_rating_image2’, ‘links_rating_image3’, ‘links_rating_image4’, ‘links_rating_image5’, ‘links_rating_image6’, ‘links_rating_image7’, ‘links_rating_image8’, ‘links_rating_image9’, ‘weblogs_cacheminutes’, ‘comment_allowed_tags’, ‘search_engine_friendly_urls’, ‘default_geourl_lat’, ‘default_geourl_lon’, ‘use_default_geourl’, ‘weblogs_xml_url’);
    foreach ($unusedoptions as $option) :

    // Set up a few options not to load by default
    $fatoptions = array( ‘moderation_keys’, ‘recently_edited’, ‘blacklist_keys’ );
    foreach ($fatoptions as $fatoption) :
    $wpdb->query(“UPDATE $wpdb->options SET autoload = ‘no’ WHERE option_name = ‘$fatoption'”);


Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘New posts are not inserted into database’ is closed to new replies.