채택완료

mysql 쿼리문에 따옴표 중복 처리

2023-04-28 (금) 16:05:28 2,099
Copy
echo $A='a"b"c';
echo $B= "a'b'c";
 

// t1 성공
$sql = " UPDATE sutda SET
`A` ='$A'
WHERE PID = '1'
";
$result = sql_query($sql);

 

//t2 실패
$sql = " UPDATE sutda SET
`B` ='$B'
WHERE PID = '1'
";
$result = sql_query($sql);

 

//t3 실패
$sql = " UPDATE sutda SET
`B` ="$B"
WHERE PID = '1'
";
$result = sql_query($sql);

 

//t4 실패
$sql = " UPDATE sutda SET
`B` ='{$B}'
WHERE PID = '1'
";
$result = sql_query($sql);

위 쿼리문중 $B를 디비에 쓸경우 모두 기록 실패입니다.

$B를 디비에 기록하려면 쿼리문을 어떤 방법으로 해야 하나요..?

|

답변 2개

채택된 답변
+20 포인트


echo $A='a"b"c';
echo $B= "a'b'c";

밑에


$A= sql_real_escape_string($A);

$B = sql_real_escape_string($B);

이코드를 입력해보세요.

https://github.com/gnuboard/gnuboard5/blob/master/lib/common.lib.php#L2308

Copy
$B = sql_real_escape_string($B);

 

$sql = " UPDATE sutda SET
`B` ='{$B}'
WHERE PID = '1'
";
$result = sql_query($sql);

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