Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- pregunta?
- Que opciones deberia pasarle a mysql_options(), para que esto no suceda?
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <mysql.h>
- #define SERVER "localhost"
- #define USER "root"
- #define DATABASE "LIBRERIA"
- #define PASSWORD "xf5bjm1sp3z"
- #define QUERY "SELECT empresa,libro FROM main WHERE MATCH(empresa, libro, categoria, editora, autor, precio) AGAINST(\'%s\'" IN BOOLEAN MODE) ORDER BY RAND()"
- int
- main(int argc, char *argv[])
- {
- size_t length;
- char *mybuf;
- MYSQL *conn;
- MYSQL_RES *res;
- MYSQL_ROW row;
- if(argc!=2) {
- fprintf(stderr, "Uso: %s < frase >\n", argv[0]);
- exit(EXIT_FAILURE);
- }
- conn = mysql_init(NULL);
- if (mysql_options(conn, MYSQL_SET_CHARSET_NAME, "utf8") != 0) {
- fprintf(stderr, "%s\n", mysql_error(conn));
- exit(EXIT_FAILURE);
- }
- if (!mysql_real_connect(conn, SERVER, USER, PASSWORD, DATABASE, 0, NULL, 0)) {
- fprintf(stderr, "%s\n", mysql_error(conn));
- exit(EXIT_FAILURE);
- }
- length = strlen(QUERY) + strlen(argv[1]);
- mybuf = (char*)malloc(length);
- puts(mysql_character_set_name(conn));
- (void)snprintf(&mybuf[0], length, QUERY, argv[1]);
- if (mysql_query(conn, &mybuf[0])) {
- fprintf(stderr, "%s\n", mysql_error(conn));
- exit(EXIT_FAILURE);
- }
- res = mysql_use_result(conn);
- while ((row = mysql_fetch_row(res)) != NULL)
- printf("%s\t\t%s\n", row[0], row[1]);
- /* Release memory used to store results and close connection */
- mysql_free_result(res);
- mysql_close(conn);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement