디비저장관련 질문 하겠습니다.
본문
안녕하세요 여러분?
그누보드에 입문한지 얼마안되서 어려운부분이 많습니다. 이번에는 저장관련부분 테스트 중인데요
다음과 같이 테이블G5_test_resultus을 임의로 하나 만들어 습니다. 그리고 저장 할려구 테스트 중인데요.. 그게 잘 않되네요... 고수님들 부탁드립니다..
<?php
include_once ('./_common.php');
if ($is_guest || !$is_member) {
alert('회원만 이용하실 수 있습니다.', G5_URL);
exit;
}
$mb_id = $member['mb_id'];
$mb = get_member($mb_id);
// 사용자 ID
$user_id = $mb['mb_id'];
// 데이타 생성 함수
function generateNumbers($max, $count) {
$numbers = range(1, $max);
shuffle($numbers);
return array_slice($numbers, 0, $count);
}
// 데이타 생성
$test_numbers = generateNumbers(10, 20);
// 결과 데이터베이스에 저장
$numbers_json = json_encode($g5_test_numbers);
$query = "INSERT INTO g5_test_results (user_id, numbers, created_at) VALUES ('$user_id', '$numbers_json', NOW())";
if ($conn->query($query) === TRUE) {
echo "성공적으로 저장되었습니다.";
} else {
echo "저장에 실패했습니다.";
}
// 데이터베이스 연결 종료
$conn->close();
?>
이렇게 하면 저장되어야 할것 같은데 실패 로 나타납니다. 어디에 문제점이 있을까요?
답변 3
다음과 같이해볼 수 있을것 같습니다
<?php
include_once ('./_common.php');
if ($is_guest || !$is_member) {
alert('회원만 이용하실 수 있습니다.', G5_URL);
exit;
}
$mb_id = $member['mb_id'];
$mb = get_member($mb_id);
// 사용자 ID
$user_id = $mb['mb_id'];
// 데이타 생성 함수
function generateNumbers($max, $count) {
$numbers = range(1, $max);
shuffle($numbers);
return array_slice($numbers, 0, $count);
}
// 데이타 생성
$test_numbers = generateNumbers(10, 20);
// 결과 데이터베이스에 저장
$numbers_json = json_encode($test_numbers);
$query = "INSERT INTO g5_test_results (user_id, numbers, created_at) VALUES ('$user_id', '$numbers_json', NOW())";
// 데이터베이스 연결
$conn = sql_connect($mysql_host, $mysql_user, $mysql_password, $mysql_db);
if (!$conn) {
die('데이터베이스 연결에 실패했습니다.');
}
if (sql_query($query, $conn)) {
echo "성공적으로 저장되었습니다.";
} else {
echo "저장에 실패했습니다.";
}
// 데이터베이스 연결 종료
sql_close($conn);
?>
1. $test_numbers 변수와 $g5_test_numbers 변수를 일치하게 수정.
2. $conn 변수를 데이터베이스 연결에 사용하도록 수정.
3. 테이블 이름을 g5_test_results로 수정.
1)
if ($conn->query($query) === TRUE) {
->
if (sql_query($query)) {
2)
// 데이터베이스 연결 종료
$conn->close();
삭제
내 해결은 되었습니다 많은 답변 감사합니다.^^
참고로 요문제를.... 필드명도 체인지하고 암튼 이틀밤세서 요래 간략 하게 해결봄요 ---;;;
<?php
include_once('./_common.php');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$mb_id = $_POST['mb_id'] ?? '';
$numbers = $_POST['numbers'] ?? '';
// 데이터베이스에 저장
$numbers_json = json_encode($numbers);
$sql = "INSERT INTO g5_test_results (mb_id, numbers, created_at) VALUES ('$mb_id', '$numbers_json', NOW())";
$result = sql_query($sql);
echo $result ? 'success' : 'error: ' . sql_error();
} else {
echo 'Invalid request';
}
?>
근데 그누에서는 디비테이블 명 적을때 접두사명 안적도 되는것 아닌가요?