이 질문은 약간 기본 사항이며 여러 번 다루어졌지만 왜 코드가 아무 것도하지 않는 이유가 확실하지 않습니다. 그것은 문자열을 전혀 업데이트하지 않습니다. PHP에서 문자열을 대체 하시겠습니까?
이
내 코드입니다 :$fineImage = "users_fav/".$_GET['id']."/$newname";
$icon = "<img src='images/icon.png' height='70' width='70' />";
$sql = "UPDATE $lchat SET user_message = replace(user_message, '$icon', '$fineImage')";
$query = mysqli_query($db_conx, $sql);
문제는 그 내가 'david', 'mark'
같은에 '$icon', '$fineImage'
를 변경하는 경우. 그것은 잘 작동하고 그것은 마크로 데이비드를 대체 할 것입니다 ...!
그렇다면 왜 그런 식으로 작동하지 않습니까?
당신이 사용자 데이터를 추가 ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php) 매개 변수화 된 쿼리를 사용한다 mysqli''사용 당신의 질문. ** 심각한 [SQL injection bug] (http://bobby-tables.com/)를 만들므로 문자열 보간을 사용하여 **이를 수행하지 마십시오. 문자열 연결을 사용하기 때문에 여기에 어떤 종류의 인용 문제가있을 수 있습니다. – tadman
@ tadman, 더 자세히 설명해주십시오. – user3806613
@tadman, 나는 그 자신을 생각했다. +1을 가리키고있다. – user3806613