본문 바로가기
MySql

MySQL mysqli query not working when variable inserted

by 베이스 공부 2020. 10. 22.
반응형

나는 여분의 눈이 필요합니다! 매우 간단한 쿼리가 있습니다.

$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = 'the-test-post' LIMIT 1");
$row = $result->fetch_array();

그리고 이것은 나에게 post_id를 제공합니다. 그러나 post_uri에 대한 변수를 삽입하면 결과가 비어 있습니다. 내가 시도한 방법 중 아무것도 작동하지 않았습니다.

$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = '".$post_uri."' LIMIT 1");


$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = ".$post_uri." LIMIT 1");


$result = $mysqli->query("SELECT post_id FROM blog_posts WHERE post_uri = $post_uri LIMIT 1");

다른 페이지에 비슷한 쿼리가 제대로 작동하므로 더 혼란 스럽습니다. 감사합니다.

 

해결 방법

 

변수를 쿼리에 직접 넣습니다. 이것은 오류가 발생하기 쉬우 며 (발견 할 때) 충분히 삭제하지 못해 SQL 주입 취약점을 유발할 위험이 높습니다.


 

참조 페이지 https://stackoverflow.com/questions/4704705

 

 

반응형

댓글