채택완료

sql 문입니다.

2022-01-12 (수) 01:47:05 1,999

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개 / 댓글 4개

채택된 답변
+20 포인트

$board_wonderful=$_GET['ttt'];

답변에 대한 댓글 2개

2022-01-12 (수) 01:51:38
그렇게 했는데 안돼네요
2022-01-12 (수) 01:54:51
아래같이 alert 띄우면 opt1이 보입니다. 미치겠네요.

echo "<script>alert('{$board_wonderful}'); </script>";
2022-01-12 (수) 02:36:37

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

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

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

2. 오타가 났을 경우

답변에 대한 댓글 1개

한 표 추가합니다.

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

832842879_1641920294.54.png

답변에 대한 댓글 1개

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

<?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);
2022-01-12 (수) 01:51:18

그렇게 했는데 안돼네요.

ㅠㅠ

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