"look"열이있는 products 테이블을 설정했습니다.이 열에는 테이블 열에서 쉼표로 구분 된 "1,6"과 같은 여러 범위에있을 수 있습니다.PHP 쿼리 중지 LIKE 중지 레코드 복제?
내가 겪고있는 문제는 "1,6,8"에 범위를 추가하면 범위가 "11"로 표시되기 때문에 범위가 10 및 11에 나타납니다.
내 코드는 다음과 같습니다
$query_RSsec = "SELECT * FROM look WHERE seolink = '$_REQUEST[range]'";
$RSsec = mysql_query($query_RSsec, $swede) or die(mysql_error());
$row_RSsec = mysql_fetch_assoc($RSsec);
$totalRows_RSsec = mysql_num_rows($RSsec);
$query_RSrange = "SELECT ranges.*, ranges.name as rname, ranges.seolink as rseo, ranges.image as rimage, category.*, category.name as cname, category.seolink as cseo FROM (ranges LEFT JOIN category ON ranges.category = category.id) WHERE look LIKE '%$row_RSsec[id]%' ORDER BY ranges.name ASC";
$RSrange = mysql_query($query_RSrange, $swede) or die(mysql_error());
$row_RSrange = mysql_fetch_assoc($RSrange);
$totalRows_RSrange = mysql_num_rows($RSrange);
$use = 'yes';
그리고 나는 다음과 같은 코드가 다음으로 돌아 가기 :
<?php do {
if (strlen($row_RSrange['rname']) > 10) {
$name = substr(str_replace('&','&',$row_RSrange['rname']),0,10) . '...';
} else {
$name = str_replace('&','&',$row_RSrange['rname']);
}
?>
<li><a title="<?php echo str_replace('&','&',$row_RSrange['rname']); ?>" href="/products/<?php echo $row_RSrange['cseo']; ?>/<?php echo $row_RSrange['rseo']; ?>"><img src="/prod-images/category/<?php echo $row_RSrange['rimage']; ?>" alt="<?php echo str_replace('&','&',$row_RSrange['rname']); ?>" title="<?php echo str_replace('&','&',$row_RSrange['rname']); ?>" width="127" height="127" /><br />
<?php echo $name; ?></a></li>
<?php } while ($row_RSrange = mysql_fetch_assoc($RSrange)); ?>
SQL 주입에 대해 아무런 보안이 없습니다. 그리고 더 이상 사용되지 않는'mysql_' 함수들. 굉장해. – Machavity
@Machavity는 코드 개선 사이트에 댓글을 달아 가난한 코드에 대해 그를 슬램하기 만하거나 도움이 될 계획입니까? – Joe
테이블, 입력 및 예상 결과에 sampe 데이터를 입력하십시오. – Bulat