Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/07/2010, 10:17
Tikitios
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 18 años, 4 meses
Puntos: 3
Respuesta: necesito conectar C/C++ con mysql

Aqui hay un codigo que hice con ayuda de conclase.net
Código PHP:
#include <winsock2.h>
#include <mysql/mysql.h>
#include <iostream>

using namespace std;

int main()
{

    
MYSQL *myData;
 
    
// Intentar iniciar MySQL:
    
if(!(myData = mysql_init(0))) 
    {
        
// Imposible crear el objeto myData
        
return 1;
    }

    const 
char* usuario = ("root");
    const 
char* clave = NULL;
    const 
char* database_name = ("prueba");
    if(!
mysql_real_connect(myData, "127.0.0.1", usuario, clave, database_name, MYSQL_PORT, NULL, 0)) 
    {
        
// No se puede conectar con el servidor en el puerto especificado.
        
cout << "Imposible conectar con servidor mysql en el puerto " << MYSQL_PORT << endl;
        
mysql_close(myData);
        return 
1;
    }
    
    if(
mysql_ping(myData)) 
    {
        
cout << "Error: conexión imposible" << endl;
        
mysql_close(myData);
    }

    
// Hacer una consulta con el comando "SELECT * FROM gente":
    
if(mysql_query(myData, "SELECT * FROM gente")) 
    {
        
// Error al realizar la consulta:
        
cout << "ERROR: " << mysql_error(myData) << endl;
        
mysql_close(myData);
        
rewind(stdin);
        
getchar();
        return 
2;
    }
    
MYSQL_RES *res;
    if((
res = mysql_store_result(myData))) 
    {
        
// Procesar resultados
        
int i = (int) mysql_num_rows(res);
        
int j = (int) mysql_num_fields(res);
        
// Mostrar el número de registros seleccionados:
        
cout << "Consulta:  SELECT * FROM gente" << endl;
        
cout << "Numero de filas encontradas:  " << i << endl;
        
cout << "Numero de columnas por fila:  " << j << endl;
        
        
MYSQL_ROW row;
        for(
int l = 0; l < i; l++) 
        {
            
row = mysql_fetch_row(res);
            
cout << "Registro no. " << l+1 << endl;
            
// Mostrar cada campo:
            
for(int k = 0 ; k < j ; k++)
                
cout << ((row[k]==NULL) ? "NULL" : row[k]) << endl;
        }

        
        
// Liberar el resultado de la consulta:
        
mysql_free_result(res);
    }
    
system("PAUSE");
    return 
0;
} 
linker : -lmysql
__________________
si tienes entre 18 y 20 años... entonces tienes 19 años xD