데이터베이스 삽입을 실행하는 간단한 html 양식과 PHP 파일이 있습니다. 내가 겪고있는 문제는 제출 버튼을 누르면 데이터베이스 테이블에 동일한 제출물의 사본이 3 개나 있는데 그 중 하나만 필요하다는 것입니다. 아래는 코드입니다.내 양식이 여러 데이터베이스 항목을 제출하고 싶지 않습니다.
HTML :
<!DOCTYPE html>
<html>
<form action="demo.php" method="post">
<p>
Input 1: <input type="text" name="input1" />
<input type="submit" value="Submit" />
</p>
</form>
</html>
PHP :
<?php
define('DB_NAME', 'phpmyadminName');
define('DB_USER', 'phpmyadminUser');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link){
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected){
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
$value = $_POST['input1'];
$sql = "INSERT INTO demo (input1) VALUES ('$values')";
if (!mysql_query($sql)){
die('Error: ' . mysql_error());
}
mysql_close();
?>
의 DB_NAME, DB_USER 및 DB_PASSWORD 모든 분명한 이유 변경되었지만, 코드 작업을 수행합니다.
양식 데이터를 너무 많이 데이터베이스 테이블에 제출하기 만하면됩니다. 내가 학교에 있었을 때, 나는이 문제가 있었지만 문제는 서버의 끝이었고 우리의 코드가 아닌 것처럼 보였다. 여기에 사용 된 서버는 제 것이고 그것을 완전히 제어 할 수 있습니다. 서버가 잘못되면 문제가되는 경우이를 수정하는 데 도움이됩니다 (이 도구를 관리하는 방법을 배우기 위해이 작업을 수행함에 따라 기본적인 수준의 관리 이상의 것을 알지 못합니다).
ctype을 살펴보면. 코드를 그대로 사용하면 '예기치 않은 값'오류가 발생합니다. 그 문제를 해싱 할 때 업데이트를 게시 할 것입니다. 귀중한 통찰력을 가져 주셔서 감사합니다. – Kenneth
좋아, 이건 틀린 회신에 게시 된 초,하지만 내 오류 문제를 알아 냈어. 입력 한 문자열이 오류를 일으켰습니다. 나는 "test 1"라는 문구를 타이프했고, 그 공간은 물에 불을 질주하는 것처럼 저에게 오류를 던졌습니다. 이 코드는 의도 한대로 작동합니다. – Kenneth
위의 정보는 처리중인 데이터 유형을 알지 못했기 때문에 일반적인 권장 사항이었습니다. 비어 있는지 확인한 것처럼 보입니다. 그러면 준비된 명령문을 사용하면 모든 입력이 이스케이프되므로 괜찮을 것입니다. 이 경우, mysql_real_escape_string은 데이터베이스에 삽입하기 전에 사용하고자하는 것이다. 나는 나의 대답을 업데이트 할 것이다. – EternalHour