나는 이것이 간단한 문제라고 생각한다. 나는 어디서 또는 왜 찾을 수 없다. (이것이 중복되지 않기를 바란다.)PHP로 mysql 데이터베이스에 삽입하기
내 의도는 입력과 텍스트 영역에서 정보를 가져 와서 내 데이터베이스에 이미 "저널"이있는 적절한 테이블에 삽입하는 것이다. 그러나 제출을 명중하고 어떤 에러도받지 않고서는 데이터베이스에 추가 된 것이 없습니다 ... 생각?
여기<fieldset>
<form method="post" action="push.php">
<input type="text" name="datetitle" /><br />
<textarea name="journalcontent"></textarea><br />
<input type="submit" />
</form>
<?php echo $datetitle ?>
<p><?php $output ?></p>
</fieldset>
하는 것은 명백한 부품 내 "인덱스"(push.php)이 생략 :
<?php
$dsn = '*';
$username = '*';
$password = '*';
include "model.php";
try {
$db = new PDO($dsn, $username, $password);
} catch (PDOException $exc) {
echo 'connection failed';
exit;
}
echo 'goodzo';
$datetitle = $_POST['datetitle'];
$journalcontent = $_POST['journalcontent'];
if (!empty($datetitle)) {
$output = add_entry($datetitle, $journalcontent);
} else {
$output = "empty";
}
include "post.php";
?>
그리고 마지막으로 내 모델
여기 내 "보기"(post.php)입니다 .php :
<?php
function add_entry($datetitle, $journalcontent) {
global $db;
$query = 'INSERT INTO journals
(entry_date, contents)
VALUES
($datetitle, $journalcontent)';
try {
$statement = $db->prepare($query);
$statement->execute();
$statement->closeCursor();
} catch (PDOException $e) {
$error_message = $e->getMessage();
display_db_error($error_message);
}
}
?>
PDO 연결 후에 model.php를 포함해야합니까? 그렇지 않으면 $ db는 아무 것도 가리 키지 않습니다 .... – KyleK
@KyleK no, 함수가 호출 될 때만 참조됩니다. * PHP * – 19greg96
[응용 프로그램에서 불쾌한 SQL 삽입 구멍을 고쳐야합니다.] (http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php) – PeeHaa