2014-02-19 2 views
-1

누군가가 나를 혼란스럽게 할 수 있는지 궁금합니다. 저는 서클에서 돌아가고 있습니다. 그리고 이것은 확실하게 간단한 답을 가지고있는 것처럼 근본적인 것 같이 보입니다. 나는 수천 시간의 수색과 독서를 마친 후에도 아직 찾지 못했다.mysqli가 SELECT * 문을 준비하는 간단한 방법은 무엇입니까?

그래서 MySQL은 내가이있을 수 있습니다 :

$q=('SELECT * FROM table WHERE field="'.$var.'"'); 
$result = mysql_query($q); 

if (!$result) 
{ 
    //some error handling 
} else { 
    $row = mysql_fetch_assoc($result); 
    $var1 = $row['var1'] 
    $varx = $row['varx'] 
} 

없음 문제. 이제 $ var 대신 placeholder를 사용하여 주입을 방지하고 싶습니다. 나는 SELECT *이 게으르다는 것을 안다. 그러나 잠시 무시하면 준비된 명령문을 사용하여 위의 내용을 복제 할 수있는 간단한 빠른 방법이 있습니까? 지금까지 내가 보았던 해결책은 PEAR 라이브러리에서로드해야하는 getAll()과 모든 종류의 복잡하고 복잡한 것을 포함하여 20 줄의 함수를 포함했습니다. 확실히이 과잉 살상을 필요로하지 않는 무언가가 있습니까? 내가 관리 할 수있는 유일한 것은 get_result()입니다. 필요한 mysqlnd 드라이버가 있더라도 사용할 수 없습니다. 이것은 내가 사용하고있는 전체 VPS에 대해 활성화되어야하기 때문입니다 (이 문제는 무엇입니까?)

누군가 간단한 예제 코드를 제공 할 수 있습니까? 그렇게 간단한 간단한 솔루션으로 보이지 않는 무언가에 대해서는 정말 혼란 스럽습니다. 여기

+0

가되지 않으며 공격에 무방비 한,'mysql_' 접두사 사용을 중단하십시오. 사용할 수있는 적절한 기법은'mysqli_' 접두어이며, 풍부한 문서를 찾을 수 있습니다. – PlantTheIdea

+0

PHP 문서 http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php – aerojun

+0

@PlantTheIdea에서 확인할 수 있습니다. 감사합니다. 그러나 이것이 내가하려는 것입니다! – Whitenoise

답변

관련 문제