복붙노트

[SQL] 준비된 문에 LIKE '% {$ var에} %'를 사용하는 올바른 방법은? [mysqli]

SQL

준비된 문에 LIKE '% {$ var에} %'를 사용하는 올바른 방법은? [mysqli]

이 일을하지 않습니다

$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';

경고 : mysqli_stmt :: bind_param () : 변수의 수는 1 행에 /home/rgero/public_html/php/searchadmins.php에 준비된 명령문의 매개 변수 수와 일치하지 않습니다

이 사람 중 하나가 작동하지 않습니다

$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';

치명적인 오류 : 잘못된 SQL : 1 행에 /home/rgero/public_html/php/searchadmins.php 0 : {?} 사용자 이름 % 오류 %를 같은 사용자가 SELECT * FROM

나는 이것에 대해 어떻게 갈 것인가? 나는 선수들, 즉 형태로 당신과 같이있는 거 입력을 결과를 업데이트있는 거 입력하면 동안 이미 쇼의 답변을 구글 방법 같은 것을 기능에 대한 검색을 만들기 위해 노력하고있어. 당신이 "DM"를 포함 다른 사용자 이름들 사이에서 이미 보여, DM 입력하면 나는, 사용자 이름 관리를 위해 필요합니다. 또한 경우를 구분해야한다

해결법

  1. ==============================

    1.이 시도

    이 시도

    $likeVar = "%" . $yourParam . "%";
    $stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
    $stmt->bind_param("s", $likeVar);
    $stmt->execute();
    

    당신은 단순히 사용하여 쿼리를 준비해야합니까? 당신은 bind_param를 사용하여 PARAM을 결합한다.

  2. from https://stackoverflow.com/questions/28385145/correct-way-to-use-like-var-with-prepared-statements-mysqli by cc-by-sa and MIT license