2 개의 입력란 인 'person.tag_name'과 'person.created_by'가 있습니다.이 사람은 .js에서 .php로 'person'을 게시합니다.PHP SQL이 결과를 표시하지 않습니다.
문제는 입력 상자에 데이터가 표시 될 때만 입력 상자가 필요하다는 것입니다.하지만 SQL 문에서는 createdBy와 일치하며 tag_name은 전혀 사용되지 않습니다. 요약
: 1 ~ 2의 입력 상자가 수비에 경우
- 내가받은되지 않습니다 데이터입니다.
- 2/2 입력 상자가 필드화된 경우에만 데이터를 수신합니다.
- 는
$tagName = $request->tag_name;
을 제거 시도하고 데이터
PHP 코드 반환합니다
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$createdBy = $request->created_by;
$tagName = $request->tag_name;
if (!empty($createdBy) && !empty($tagName)){
$Where = "created_by LIKE '%$createdBy%' AND name LIKE '%$tagName%'";
}
else if (!empty($createdBy)){
$Where = "created_by LIKE '%$createdBy%'";
}
else if (!empty($createdBy)){
$Where = "name LIKE '%$tagName%'";
}
// Create connection
$con = new mysqli($servername, $username, $password, $db);
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM test.test_tag WHERE deleted_by is null AND $Where;" ;
$qry = $con ->query($sql);
$data = array();
if ($qry->num_rows > 0) {
// output data of each row
while($row = $qry->fetch_object()) {
$data[] = $row;
}
} else {
$data[] = null;
}
$con->close();
도와주세요.
이 코드에서 SQL 쿼리를 실행하지 않습니다. 어느 쪽도 당신을 울리고 있지 않습니다. –
SQL 연결을 생성하고 사용해야합니다 ... http://www.w3schools.com/php/func_mysqli_query.asp –
그런 쿼리를 작성하면 SQL 주입 공격이 가능합니다. –