채택완료

이거 잘못된 건가여?(C 관련)

void db_connect(void)< br>
{< br>
char hostname, userid, passwd, dbname;< br>
< br>
&hostname="localhost";        : invalid lvalue in assignment(에러) < br>
&userid="ggamter";            : invalid lvalue in assignment(에러)< br>
&passwd="3693690";            : invalid lvalue in assignment(에러)< br>
&dbname="ggamter";            : invalid lvalue in assignment(에러)< br>
< br>
if (!mysql_connect(&mysql, &hostname, &userid, &passwd));< br>
< br>
//if (!mysql_connect(&mysql,"localhost","ggamter" , "3693690"));    < br>
<==원본입니다. 위의 변수정의를 사용하지 않고 바로 입력하면 잘되거덩요..< br>
< br>
  //데이타베이스 접속 <br>
if (mysql_select_db(&mysql, &dbname));< br>
< br>
}

|

답변 1개

채택된 답변
+20 포인트
^_^ PHP로 프로그램을 시작하셨나 보군요


C에서는 그런식으로 프로그램밍 하면 안됩니다.


문자열은 C에서는 단순한 char형 배열이거든요.


char 배열과 포인터에 대해 좀더 공부하셔야 될 듯


&nbsp;


아래와 같이 수정하세용...


&nbsp;


해기님의 글


------------------------------------


#define MAX_STR&nbsp; 100


void db_connect(void)


{


char hostname[MAX_STR], userid[MAX_STR], passwd[MAX_STR], dbname[MAX_STR];


&nbsp;


strcpy(hostname, "localhost");


strcpy(userid, "ggamter");


strcpy(passwd, "3693690");


strcpy(dbname, "ggamter");


&nbsp;


if (!mysql_connect(&mysql, hostname, userid, passwd));


&nbsp;


&nbsp; //데이타베이스 접속


if (mysql_select_db(&mysql, dbname));


&nbsp;


}


------------------------------------

답변을 작성하려면 로그인이 필요합니다.