처음에 특정 문자열을 포함하는 모든 db 항목을 선택하려고합니다. 현재 내 코드입니다.
$keyword = htmlspecialchars($_POST["keyword"]);
$keyword = str_replace(" ","",$keyword);
if($keyword != ""){
$db = new Database("localhost","root","","test");
$db->connect();
$query = "SELECT * FROM login WHERE username LIKE '".$keyword."%'";
$res = $db->execCommand($query);
$res = mysqli_fetch_assoc($res);
if($res["username"] != ""){
echo json_encode(array_values($res));
}
$db->disconnect();
}
잘 작동하지만 array / json에는 db의 항목이 하나만 포함되어 있습니다.
누군가 그것을 고치는 방법을 알고 있습니까?
첫째 $res = mysqli_fetch_assoc($res);
, 한 번만 전화를 걸기 때문에 한 행만 돌려받습니다.
둘째, $res
결과 집합을 첫 번째 행의 배열로 덮어 쓰므 로 더 많은 행을 읽으려고하면 문제가 발생합니다.
while 루프를 추가하고 변수에 고유 한 이름을 지정해야합니다.
$keyword = htmlspecialchars($_POST["keyword"]);
$keyword = str_replace(" ","",$keyword);
if($keyword != ""){
$db = new Database("localhost","root","","test");
$db->connect();
$query = "SELECT * FROM login WHERE username LIKE '".$keyword."%'";
$res = $db->execCommand($query);
while($row = mysqli_fetch_assoc($res)) {
if($row["username"] != ""){
echo json_encode(array_values($row));
}
}
$db->disconnect();
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다