반응형
이 문제는 저를 당혹스럽게했습니다. db에 데이터를 성공적으로 삽입하지만 응답으로 오류가 발생하는 간단한 mysqli 쿼리가 있습니다.
쿼리 등을 매개 변수화해야한다는 것을 알고 있습니다. 이것은 단지 테스트 실행 일뿐입니다.
$query = "INSERT INTO user(user_id,subdomain) VALUES ('$user_id','$subdomain')";
$sql = mysqli_query($conn, $query);
실행시 다음 (가독성을 위해 형식이 지정됨) 오류가 발생합니다.
오류 : 1 INSERT INTO user (user_id, subdomain) VALUES ( 'abcdefgh | 123456', 'abcd') SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 1 행의 '1'근처에서 사용할 올바른 구문을 확인하십시오.
하지만 db를 확인하면 데이터가 제대로 삽입됩니다.
테이블 스키마는 다음과 같습니다.
user
Column Type Null Default
id (Primary) int(50) No
user_id varchar(50) No
subdomain varchar(30) No
modified timestamp No CURRENT_TIMESTAMP
여기서 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?
수정 : 코드 추가
$host = 'localhost';
$user = 'root';
$pass = 'mysql';
$db = 'localauth0';
$conn = mysqli_connect($host, $user, $pass, $db);
mysqli_set_charset($conn, "utf8");
$user_id = mysqli_real_escape_string($conn, $_POST['user_id']);
$subdomain = mysqli_real_escape_string($conn, $_POST['storeSubdomain']);
// $query = "INSERT INTO user (user_id,subdomain) VALUES ('$user_id','$subdomain')";
$query = "INSERT INTO user(user_id,subdomain) VALUES ('".$user_id."','".$subdomain."')";
$sql = mysqli_query($conn, $query);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $query . "<br>" . $conn->error;
}
$conn->close();
exit();
해결 방법
문제는 다음과 같습니다.
$sql = mysqli_query($conn, $query);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $query . "<br>" .$conn->error;
}
mysqli_query를 두 번 호출하면 첫 번째가 레코드를 삽입합니다.
$sql = mysqli_query($conn, $query);
두 번째로 "1"문자열에 대한 쿼리 만 실행하지만 오류 보고서는 문제를보고하기 위해 잘못된 항목을 연결합니다.
어때
$result = mysqli_query($conn, $query);
if ($result) {
echo "New record created successfully";
} else {
echo "Error: " . . "<br>" . mysqli_error($conn);
}
참조 페이지 https://stackoverflow.com/questions/41600587
반응형
'MySql' 카테고리의 다른 글
MySQL PHP / MYSQL : 데이터베이스의 모든 레코드를 반복합니다. (0) | 2020.10.30 |
---|---|
MySQL getaddrinfo 실패 : 알려진 호스트가 없습니다. (0) | 2020.10.30 |
MySQL mysql의 주문 및 제한 조건 (0) | 2020.10.30 |
MySQL 다른 포트의 도커 mysql (0) | 2020.10.30 |
MySQL 오류 : : ''root '@'localhost '사용자에 대한 액세스가 거부되었습니다. (0) | 2020.10.30 |
댓글