2017-01-10 2 views
0

테이블 ID와 가치를 잃고 "id"열. "name"과 "image"열의 값을 얻고 nation_id와 연관된 국가를 가져 오도록 구조체로부터 질의를 만들고 싶습니다.내가 SQL에 새로 온 사람과 나는이 열이 개 테이블이 SQL

그러나 내 코드에서 국가의 ID 열은 구조체 테이블의 ID가됩니다. 나는 여전히 "name"에서 정확한 값을 얻을 수 있지만 정확한 "image"를 얻기 위해서는 "id"라는 원본 구조가 필요합니다.

$nation = mysqli_real_escape_string($conn, $_GET["nation"]); 
$nameN = mysqli_real_escape_string($conn, $_GET["nameN"]); 

$sql = "SELECT * FROM structures 
LEFT JOIN nations ON structures.nations_id = nations.id 
WHERE nations_id LIKE '$nation' and nations.nation like '$nameN'"; 
+1

** 경고 ** : 당신이 [매개 변수가있는 쿼리를 (사용해야 mysqli''사용하는 경우 http://php.net/

내가 사용하고 코드입니다 manual/en/mysqli.quickstart.prepared-statements.php) 및 ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php)을 사용하여 사용자 데이터를 쿼리에 추가하십시오 . ** 올바르게 이스케이프하는 것을 잊어 버린 경우 심각한 [SQL injection bug] (http://bobby-tables.com/)를 만들 것이므로 수동 이스 케이 핑 및 문자열 보간 또는 연결을 사용하지 마십시오. – tadman

답변

0
SELECT s.*, n.nation 
FROM structures AS s 
JOIN nations AS n ON s.nation_id = n.id 
WHERE n.id = '$nation' 
AND n.nation = '$nameN' 
+0

이제 작동합니다. 정말 고마워요! – Adato

관련 문제