zlmay007 发表于 2009-4-8 09:46:17

关于c语言中mysql的select语句变量查询问题

程序如下:
#include <stdlib.h>
#include <stdio.h>
#include "mysql/mysql.h"
MYSQL my_connection;
MYSQL_RES *res_ptr;
MYSQL_ROW sqlrow;
char *userName="z";//!
void display_row();
int main(int argc, char *argv[]) {
   int res;
   mysql_init(&my_connection);
   if (mysql_real_connect(&my_connection, "localhost", "root",
                                              "111111", "zl", 0, NULL, 0)) {
   printf("Connection success\n");
   
   res = mysql_query(&my_connection, "SELECT username,password FROM user where='userName'");//!??
   if (res) {
      printf("SELECT error: %s\n", mysql_error(&my_connection));
   } else {
      res_ptr = mysql_use_result(&my_connection);
      if (res_ptr) {
         while ((sqlrow = mysql_fetch_row(res_ptr))) {
            printf("Fetched data...\n");
   display_row();
         }
         if (mysql_errno(&my_connection)) {
            printf("Retrive error: %s\n", mysql_error(&my_connection));
         }
      }
      mysql_free_result(res_ptr);
   }
   mysql_close(&my_connection);
   } else {
      fprintf(stderr, "Connection failed\n");
      if (mysql_errno(&my_connection)) {
         fprintf(stderr, "Connection error %d: %s\n",
                  mysql_errno(&my_connection), mysql_error(&my_connection));
      }
   }
   return EXIT_SUCCESS;
}
void display_row() {
   unsigned int field_count;
   field_count = 0;
   while (field_count < mysql_field_count(&my_connection)) {
      printf("%s ", sqlrow);
      field_count++;
   }
   printf("\n");
}

运行之后程序说明可以连接成功,但是却无关于z的用户名输出,请问大家这是为什么呢?应该如何修改?

kider 发表于 2009-4-9 17:09:00

关注...

beingman 发表于 2012-6-29 13:31:55


应该是SQL语句不完整吧,遗漏了字段名:

   res = mysql_query(&my_connection, "SELECT username,password FROM user where='userName'");//!??

页: [1]
查看完整版本: 关于c语言中mysql的select语句变量查询问题