Sign in to follow this  
jumpjumpjump

C++ & MySQL question

Recommended Posts

I have been screwing around with the mysql dev pack for dev-C++ and have a question. Using the template file that it comes with, I still cannot select my database and that is the correct database. Any Ideas what is wrong?
/*
  Name:         MySQLClientTest
  Author:       Kip Warner (kip@zero47.com)
  Date:         24/11/03 13:15
  Description:  Example to show usage of MySQL databases from client end.
                I did not have much time. Sorry...
*/

// Includes...
#include <windows.h>
#include <MySQL\mysql.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>


// Database name...
char        g_szHost[]          = "localhost";
UINT        g_unPort            = MYSQL_PORT;
char        g_szUserName[]      = "root";
char        g_szPassword[]      = "shizzle";
char        g_szDatabase[]      = "portal2";
char        g_szSQLStatement[]  = "SELECT * portal_users";

// Entry point...
int main(int nArguments, char *pszArguments[])
{
    // Variables...
    MYSQL          *myDatabase      = NULL;
    MYSQL_RES	   *myResult        = NULL;
    MYSQL_FIELD	   *myField         = NULL;
    MYSQL_ROW	    myRow           = NULL;
    UINT            unRecords       = 0;
    UINT            unFields        = 0;
    UINT            unIndex         = 0;
    UINT            unFieldIndex    = 0;
 
    // Initialize MySQL...
    myDatabase = mysql_init(NULL);
    
        // Failed...
        if(!myDatabase)
        {
            // Alert user...
            printf("] Error: Unable to initialize MySQL API...\n");

            // Cleanup, abort, terminate...
            mysql_close(myDatabase);
            getch();
            return 0;
        }

    // Connect to server and check for error...
    //conn,host,username,password,database
    if(mysql_real_connect(myDatabase, g_szHost, g_szUserName, g_szPassword,NULL, g_unPort, NULL, 0) != 0)
    {
        // Alert user...
        printf("] Error: Unable to connect to server...\n");

        // Cleanup, abort, terminate...
        mysql_close(myDatabase);
        getch();
        return 0;
    }

    // Select database in server and check for error...
    if(mysql_select_db(myDatabase, g_szDatabase) < 0)
    {
        // Alert user...
        printf("] Error: Unable to select database...\n");
        
        // Cleanup, abort, terminate...
        mysql_close(myDatabase);
        getch();
        return 0;
    }

    // Query database and check for error...
    if(mysql_query(myDatabase, g_szSQLStatement) != 0)
    {
        // Alert user...
        printf("] Error: Unable to execute query...\n");
        
        // Cleanup, abort, terminate...
        mysql_close(myDatabase);
        getch();
        return 0;
    }

    // Retrieve query result from server...
    myResult = mysql_store_result(myDatabase);
    
        // Failed...
        if(!myResult)
        {
            // Alert user...
            printf("] Error: Unable to retrieve result...\n");
            
            // Cleanup, abort, terminate...
            mysql_close(myDatabase);
            getch();
            return 0;        
        }
  
    // How many records were returned in the result set?
    
        // Calculate...
        unRecords = mysql_num_rows(myResult);
    
        // Alert user...
        printf("] Query: %d records found...\n", unRecords);
    
    // How many fields are present in a record?
        
        // Calculate...
        unFields = mysql_num_fields(myResult);
        
        // Alert user...
        printf("] Query: There are %d fields in each record...", unFields);
    
    // Output records...
    for(unIndex = 0; unIndex < unRecords; unIndex++)
    {
        // Fetch row from results...
        myRow = mysql_fetch_row(myResult);

        // Fetch fields from row...
        myField = mysql_fetch_fields(myResult);

        // Show record...
        printf("] Record: %d / %d\n", unIndex, unRecords);

        // Output all fields in this row...
        for(unFieldIndex = 0; unFieldIndex < unFields; unFieldIndex++)
        {
            // Output...
            printf("\t%s", myField[unFieldIndex].name);
        }
    }
    
    // Free result...
    mysql_free_result(myResult);
    
    // Close server connection...
    mysql_close(myDatabase);
    myDatabase = NULL;
    
    // Alert user, exit...
    printf("] Done, press any key to exit...\n");
    getch();
    return 0;
}





Share this post


Link to post
Share on other sites
No idea what your problem is, but I might as well save you time from another problem that will arise.

The query should be "SELECT * FROM portal_users" , you forgot the FROM.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this