> mysql 질문입니다..
> resanswer 이라는 변수를 post 값으로 받구여..
> 그것을 mysql디비에 너으려구 합니다.
> 그런데..for문으로 resanswer값을 받아서여..
> $resanswer0
> $resanswer1
> $resanswer2
> 이런식으로 값이 생겨나여..
> 이것을 mysql 디비에 너으려구여..
> 그래서 for 문을 서서..
> 아래와 같이 넣었습니다..
>
> for ($i = 0;$i<$qnum;$i++) {
>
> $insert1 = "insert into $tbquestion(rnum, qnum, qval, exnum, extype, a
> nswer, result) values ($rnum,$i,'".${"qval$i"}."',".${"exnum$i"}.",
> '".${"extype$i"}."','$resanswer$i','$resresult$i')";
>
> mysql_query($insert1);
>
> 그후..에러는 없어서.
> 그렇지만..mysql table 에는 데이터가 들어가질 않아여..
> 0값만 들어가여..
> $resanswer$i 를 mysql문에서 어떻게 적어야 데이타가 들어갈까여.
>
> $resanswer0하면..i가 0 일때의 첫 데이터가 들어가더군여..
> 아무래도 mysql문에 문제가 있나봐여..
>
> 도와주세여..
안녕하세요..
APM을 배우고 있는 초보 이원희 라고 합니다.
저도 확실하게는 모르지만 참고하세요..
부디 성공하시길 빌면서..
저의 생각으로 그냥 배열로 처리 하면 안될까요..?(하하하)
mysql에 사용하는 문법이 맞지 않았어 삽입이 안되는 문제죠..(당근)
가변 변수를 사용하셨나 보군요..(나도 자신이 없지만..)
그런데 가변 변수 사용 방법이 잘 못 되어 있는 거 아닌가요..
$$aa 이런 변수는 받지만..
$aaa$i 이런 변수는 보지 못했네요..(맞나, 저의 생각입니다.)
제가 황원희님이 번역하신 가변 변수에 대한 내용을 올려 드리겠습니다.
그럼 참고 하세요..
가변 변수 (Variable variables)
가끔 변수의 이름을 변경할 수 있다면 편리하다고 느낄 때가 있다. 이곳에서는 변수의 이름을 바꾸어 사용하는 방법을 알아보자. 보통의 변수 선언은 다음과 같다. :
$a = "hello";
여기서 이 가변 변수은 변수의 값을 가질 수도 있고, 또한 이 값을 변수의 이름으로 다룰 수도 있다. 위의 예에서 hello는 $$를 앞에 붙이면 변수 이름으로 사용할 수 있는 것이다. 예 :
$$a = "world";
이렇게 하면 PHP의 symbol tree에는 "hello"라는 값을 가지는 $a와 "world"라는 값을 가지는 $hello의 두 개의 변수가 생기게 된다. 그러므로 다음과 같은 문장은 :
echo "$a ${$a}";
다음 문장과 똑 같은 출력을 나타내게 된다.:
echo "$a $hello";
ie. 둘의 출력: hello world.
가변 변수를 배열과 함께 사용하려면, 한가지 모호성 문제를 해결해야 한다. 그것은, 만약 여러분이 $$a[1]이라고 썼으면, $a[1]을 하나의 변수로 볼 것인지, 아니면 $$a를 변수로 보고 그 변수에 [1]의 인덱스를 해 줄 것인가 하는 문제이다. 다음과 같이 하여 모호성을 해결하자. 전자의 경우 ${$a[1]}라고 쓰고, 후자의 경우는 ${$a}[1]라고 쓰면 된다. ( 역자주: 가변 변수를 나타낼 때는 항상 { }로 둘러 싸는 것이 보기 좋고 오류도 없앨 수 있다.)
|