답변 7개
https://www.php.net/manual/en/function.mysqli-escape-string.php
$sql = "INSERT ... ";$sql= mysqli_escape_string( $sql); // 추가해 보세요.$result = mysqli_query($conn, $sql);
댓글을 작성하려면 로그인이 필요합니다.
일단 받는 페이지에서 post 값을 제대로 받았는지부터 채크해보세요..
일부라도 들어가는거보면 문법에는 이상이 없고 데이터만 누락되어 들어가는것 같은데..
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
다음과 같이 해보시는 건 어떨까 합니다.
테이블 구조 변경
</p>
<p>ALTER TABLE `msg_board` MODIFY `number` INT(10) NOT NULL AUTO_INCREMENT;
regdata 컬럼의 데이터 형식 변경
</p>
<p>ALTER TABLE `msg_board` MODIFY `regdata` DATETIME NOT NULL;
데이터베이스 연결 및 데이터 삽입
</p>
<p><?php
// 데이터베이스 연결 설정
$dbHost = 'localhost';
$dbUser = '사용자명';
$dbPass = '비밀번호';
$dbName = '데이터베이스명';</p>
<p>$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);</p>
<p>if (!$conn) {
die("데이터베이스 연결 오류: " . mysqli_connect_error());
}</p>
<p>// POST 데이터 가져오기
$subject = $_POST['subject'];
$name = $_POST['name'];
$password = $_POST['password'];
$message = $_POST['message'];</p>
<p>// SQL 쿼리 작성
$sql = "INSERT INTO msg_board (subject, name, password, message) VALUES ('$subject', '$name', '$password', '$message')";</p>
<p>if (mysqli_query($conn, $sql)) {
echo "게시물이 성공적으로 등록되었습니다.";
} else {
echo "등록 중 오류 발생: " . mysqli_error($conn);
}</p>
<p>mysqli_close($conn);
?>
이렇게 하면 데이터가 데이터베이스에 올바르게 저장될 것으로 생각합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
[code]
<?php
$conn = mysqli_connect("localhost", "사용자명", "비밀번호", "데이터베이스명");
include "lid.php";
$user_name = $_POST['name'];
$user_subject = $_POST['subject'];
$message = $_POST['message'];
$regdata = date("y-m-d");
$query = "insert into sing_board(name, subject, message, regdata)
values('$name','$subject','$message','$regdata')";
$sql = "INSERT INTO msg_board (subject, name, message) VALUES ('$user_subject', '$user_name', '$user_msg')";
$result = mysqli_query($conn, $sql);
//echo $query;
?>
<script>
//location.href = 'list.php';
</script>
[/code]
[code]
<?php
error_reporting(1);
ini_set("display_errors", 1);
$conn = mysqli_connect("localhost", "사용자명", "비밀번호", "데이터베이스명");
if(!$conn){
echo 'db에 연결하지 못함'. mysqli_connect_errno() ;
}
else{
echo 'db에 연결됨';
}
?>
[/code]
해당 내용 정도만 들어있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
[code]
<?php
$conn = mysqli_connect("localhost", "사용자명", "비밀번호", "데이터베이스명");
include "lid.php";
$user_name = $_POST['name'];
$user_subject = $_POST['subject'];
$message = $_POST['message'];
$regdata = date("y-m-d");
$query = "insert into sing_board(name, subject, message, regdata)
values('$name','$subject','$message','$regdata')";
$sql = "INSERT INTO msg_board (subject, name, message) VALUES ('$user_subject', '$user_name', '$user_msg')";
$result = mysqli_query($conn, $sql);
//echo $query;
?>
<script>
//location.href = 'list.php';
</script>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
에러메시시는 무엇인지요?
코드는 별이상없이 보입니다.
디비에 저장되지않는다면 권한 확인 필드이름하고 일치하는지 확인 또확인요
그리고
$_POST 배열을 확인하여 필드 이름과 값이 올바른지 도 스크립트 쪽처리부분 확인해보시구요
답변에 대한 댓글 2개
ini_set( "display_errors", 1 ); 을 추가하여 확인하였으나
에러 메세지는 출력되지 않으며, 그냥 하얀 바탕이 나옵니다
여전히 MySQL 테이블에 데이터가 저장되지 않습니다ㅠㅠ
'권한 확인 필드이름하고 일치하는지 확인'은 어느 부분을 확인하여야 할까요?? 제가 초보자라 기초적인 질문일 수 있겠으나 가르침 부탁드립니다
ALTER TABLE `msg_board` CHANGE ` subject` ` subject` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
여기보시면 ` subject` 앞에 공백들어가면 않됩니다. 제거해주시고 다시 날려주세요.
그래도 문제 가 있으면,..
if (!$result) {
die('MySQL 에러: ' . mysqli_error($connection));
} 서버쪽에 넣고 에러 내용확인해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
1. phpmyadmin에서 퀴리를 실행하는 것은 어떻게 하면 되나요?
2. 어디에서 어디로 인클루드 해야하나요??