다중 선택 상자에서 정보로 레코드를 업데이트하려고하는데 새로운 행을 추가하기 위해 INSERT INTO를 사용할 때 제대로 작동했지만 현재는이 코드에 추가하려고합니다. mysql_real_escape_string()이 게시물의 맨 아래에 오류 메시지가 반환됩니다. PHP에 전달하려는 값이 잘못되었다고 생각하지만 PHP를 행복하게 만드는 방법을 모르겠습니다.MySQL PHP mysql_real_escape_string() -이 값이 문자열이 아닌가?
$query = "UPDATE studies
SET strategies = '" . mysql_real_escape_string($strategies) . "' WHERE id = '" . mysql_real_escape_string($id) . "'";
while($row = mysql_fetch_array($result)) {
$strategylist = $row['name'];
$strategyname = htmlspecialchars($row['name']);
$pagelink = str_replace(" ","_",$strategylist);
echo '<option value="<a href="strategies.php?strategy=' . $pagelink . '">'.$strategyname.'</a>" >' . $strategyname . '</option>' . '\n';
}
경고 :는 mysql_real_escape_string()는 매개 변수 1 라인 (100)에 주어진 문자열, 배열이 될 것으로 기대
$ strategies 및 $ id에 할당 된 코드를 게시 할 수 있습니까? –
$ id 및 $ strategies 변수를 설정하는 코드를 확인해야한다고 생각합니다. 그렇지 않으면 오류를 일으키는 항목을 알려주지 못합니다. 쿼리 문자열 생성 전에 관련 코드를 포함시켜야합니다. –
mysql_real_escape_string ($ id) 대신 cast 연산자 (int) $ id 또는 intval ($ id)를 사용하는 것이 빠릅니다. – merkuro