URL 배열을 증가시키지 않고 테이블을 업데이트하려고하면 테이블에 인쇄되는 것은 URL 배열의 마지막 항목 일뿐입니다.foreach()를 사용하여 MySQL 테이블 업데이트
내가 $url
을 울리는 경우 제대로 배열을 통해 반복 할 수 있습니다. 내가 에코 할 때 $currentId
은 제대로 증가합니다. 쿼리가 내 테이블의 각 행에 각 $url
을 입력하지 않는 이유는 무엇입니까? 여기서 무슨 일이 일어나고 있는지 모르겠다.
$currentId = 1;
foreach($pages as $url)
{
$query = "UPDATE pageurls SET url='$url' WHERE id='currentId'";
mysql_query($query);
echo($url.'<br/>');
$currentId++;
}
를, 그것은 MySQL의 특수 문자가 제대로 처리되는 것으로 간주 무엇인지 확실하게 대한 것입니다. 가질 수있는 큰 습관입니다. –
@Topener : 시스템이 누군가에 의해 프로그래밍되어야하므로, 여전히 "사용자"입력입니다 (특히 주니어 코더를 사용하는 경우). 그럼에도 불구하고 a) 맹목적으로 모든 것을 문자열로 변환하는 것보다 올바른 유형 (예 :'(int) $ currentId') 또는 b) 매개 변수화 된 쿼리를 사용하는 것이 더 안전 할 것입니다. – Piskvor