WordPress.org

Forums

[resolved] WPDB (7 posts)

  1. chiconerd
    Member
    Posted 6 years ago #

    alright so i was looking at how to manage queries in wordpress and i came across wpdb, it says that it should work just fine with no modification.

    but when i try to use a query it gives me a fatal error, and tells me im working with a non-object..

    i try many different things and the only thing that works is if i call the class and put in all the database values manually every time..
    this a security risk..

    can anyone help me?

    why is not working like the guide says it should.

  2. MichaelH
    Member
    Posted 6 years ago #

    What are you trying to query?

    While wpdb may be useful, if you are querying posts you might look at the template tag, query_posts(), or get_posts().

  3. chiconerd
    Member
    Posted 6 years ago #

    nope just a normal query
    when i use this

    <?php
        $wpdb = $wpdb->get_results('SELECT * FROM costume_table');
    ?>

    this will produce this error

    Fatal error: using a property of a non-object;

    how ever if i do this

    <?php
        $wpdb = new wpdb('user','password','database','host');
        $wpdb = $wpdb->get_results('SELECT * FROM costume_table');
    ?>

    and that is the problem i have to include the new class in every new page i make, i thought the class was included within wordpress, putting mysql info in every page does not sound safe. :S

  4. MichaelH
    Member
    Posted 6 years ago #

    If you put the database tables you are accessing in the save database as the rest of WordPress tables you should be able to access them with the wpdb class.

  5. chiconerd
    Member
    Posted 6 years ago #

    yeah the problem is not accessing the database, is running the code.
    the code wont run unless i create an instance of the class in every page i want to use the wpdb class.

    as i explained before, in the documentation it says that automatically wordpress enable this functionally. but even if i try to use one example provided by wordpress i get this error.

    this the code wordpress provides

    <?php
    $name = $wpdb->get_var("SELECT name FROM $wpdb->terms WHERE term_ID=1");
    echo $name;
    
    ?>

    this is the error it produces
    Fatal error: Call to a member function get_var() on a non-object in C:\sites\wordpress\wp-content\plugins\exec-php\includes\runtime.php(42) : eval()'d code on line 2

  6. chiconerd
    Member
    Posted 6 years ago #

    well i found another way to do this in every page i create instead of using the new class. by using

    global $wpdb;

    the code works.

    still not sure why in the guide they don't address this error.

  7. MichaelH
    Member
    Posted 6 years ago #

    Even though wpdb does refer to making $wpdb global, can you recommend a better method of explaining that?

    Thanks for your recommendations.

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags

No tags yet.