0
많은 수의 PDO 사용 예제가 있지만 mysql_query에서 PDO 문으로 성공적으로 변환 할 수 없었습니다.mysql_query를 PDO 문으로 변환
가 여기에 작동하지만 안전하지 않습니다 무엇 :
<?php
$db = mysql_connect("localhost","username","passphrase");
mysql_select_db("database",$db);
$cat= $_GET["cat"];
/* grab a row and print what we need */
$result = mysql_query("SELECT * FROM cat WHERE cat = '$cat' ",$db);
$myrow3 = mysql_fetch_row($result);
echo "$myrow3[2]";
/* here's an array */
echo '<div class="container">';
$q = mysql_query("SELECT * FROM name WHERE Field4 = '$cat'",$db);
while ($res = mysql_fetch_array($q)){
echo '<div class="item"><p><a href="bits.php?page=' . $res['Field2'] . '&' . $res['Field6'] . '">' . $res['Field1'] . '</a></p></div>';
}
echo '</div>';
?>
는 여기에는 mysql_query를 변환하는 시도에서 지금까지 내 시도 * How to prevent SQL injection in PHP?에 따라 문을 PDO합니다. 현재 페이지가 표시되지 않습니다. 모든 통찰력은 인정 될 것입니다!
SQL 인젝션에 열려있는 것은 외부로부터의 변수가있는 SQL 문의 빌드입니다. ''SELECT * FROM cat WHERE cat = $ cat''은'$ cat'으로 빌드 된 실행 가능한 코드입니다. '$ cat'은 오염되어 전체 SQL 문을 오염시킵니다. –
데이터를 ASSOC 배열로 가져 오기 때문에'$ result [ 'fieldname']', etc (필드 이름이 무엇이든간에)'echo $ result [2];' . – Spudley