변수 username
에 저장된 이름이있어서Ruby MySQL 쿼리에서 변수 사용하기
result = dbh.query("SELECT * FROM maintab WHERE user = '#{username}'")
결과가 없습니다. 그러나 손으로 사용자 이름을 입력하면 결과가 반환됩니다. 변수를 사용할 수 있도록 내 쿼리의 형식을 지정하는 방법은 무엇입니까?
변수 username
에 저장된 이름이있어서Ruby MySQL 쿼리에서 변수 사용하기
result = dbh.query("SELECT * FROM maintab WHERE user = '#{username}'")
결과가 없습니다. 그러나 손으로 사용자 이름을 입력하면 결과가 반환됩니다. 변수를 사용할 수 있도록 내 쿼리의 형식을 지정하는 방법은 무엇입니까?
이 방법을 디버깅하려고합니다. 당신의 username
이 nil
또는
IRB를 열고 가지고있는 것을 인쇄하십시오.
# {}이 (가) 작은 따옴표와 함께 어떻게 동작하고 큰 따옴표가 이스케이프됩니까?
귀하의 질문에 답변 해주십시오. 이 작업을해야
username = "Peter" # any of your real name
result = dbh.query("SELECT * FROM maintab WHERE user = '#{username}'")
:
IRB를 사용해 볼 수 있을지 확실하지 않습니다. 원격 서버에서 스크립트를 실행 중입니다. 나는 그것이 발견 된 것을 알기 위해 발견 한 행의 수를 내야한다. 나는 정확하게 이스케이프 된 큰 따옴표를 시도하고 동일한 결과를 만났다고 생각합니다. 그게 가능하다면 내가 잘못 했어. – Arbiter
blank
이 경고에 대한 http://en.wikipedia.org/wiki/SQL_injection에 대한 –감사를 조심처럼 보이는, 내가 인젝션 공격 증거에 실제로 모든 것을 일단 내 모든 쿼리해야합니다 일. – Arbiter
'username' 변수가 nil 또는 emty가 아닌 것은 확실합니까? – fl00r