채택완료

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

2015-10-16 (금) 20:50:29 2,669

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 배열과 포인터에 대해 좀더 공부하셔야 될 듯



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



해기님의 글

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

#define MAX_STR 100

void db_connect(void)

{

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



strcpy(hostname, "localhost");

strcpy(userid, "ggamter");

strcpy(passwd, "3693690");

strcpy(dbname, "ggamter");



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



//데이타베이스 접속

if (mysql_select_db(&mysql, dbname));



}

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

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