테스트 사이트 - 개발 중인 베타 버전입니다

sql 문입니다. 채택완료

진강산가재 3년 전 조회 1,844

 

get변수로 전달 받으면 값이 나오지 않고

 

코드내에서 값을 설정하면 되는 이유는 뭔가요?

 

가령 a.php파일에서 

b.php?ttt=opt1

으로 던지고

b.php

파일에서 

$board_wonderful=$_GET["ttt"]

$where_sql = " where bo_table ='{$board_wonderful}' ";

이렇게 하면 안되고

 

$board_wonderful="opt1"

$where_sql = " where bo_table ='{$board_wonderful}' ";

이렇게 하면 됩니다,

 

뭐가 문제인가요?

 

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

답변 4개

채택된 답변
+20 포인트
s
sinbi Expert
3년 전

$board_wonderful=$_GET['ttt'];

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

진강산가재
3년 전
그렇게 했는데 안돼네요
진강산가재
3년 전
아래같이 alert 띄우면 opt1이 보입니다. 미치겠네요.

echo "<script>alert('{$board_wonderful}'); </script>";

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

이런 경우는 크게 두가지 경우에 발생합니다.

1. $board_wonderful = $_GET['ttt'];  부분과 $where_sql = " where bo_table ='{$board_wonderful}' "; 사이에 $board_wonderful 을 리셋하거나 다른 변수로 변경된 경우 

  - if문에서 비교할때 if(a == b) 해야하는데 if(a = b)라고 오타 낼 경우에도 문제가 됩니다.

2. 오타가 났을 경우

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

엑스엠엘
3년 전
한 표 추가합니다.

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

s
sinbi Expert
3년 전

값은 잘 찍히는데.....왜 안 될까요? ㅎ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
3년 전
아래 코드로 테스트 해봤는데, 잘 됩니다.
뭔가 다른 이유로 안 되는 듯...

<?php
include_once ("gnu54/common.php");
$board_wonderful = $_GET['ttt'];
$where_sql = " SELECT * FROM g5_board where bo_table = '{$board_wonderful}' ";
$value = sql_fetch($where_sql);
print_r($value);

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

그렇게 했는데 안돼네요.

ㅠㅠ

 

로그인 후 평가할 수 있습니다

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

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

로그인