현재 데이터베이스에 새 페이지를 추가하고 동시에 탐색 테이블을 업데이트하는 단일 함수를 PHP 스크립트에 작성하려고합니다. 어떤 이유로 두 쿼리가 모두 실패하고, 내가 무엇을해야하는지 잘 모르겠습니다. 이 내 add_content 함수 호출입니다 :함수를 사용하여 mysql에 2 개의 쿼리를 삽입하십시오.
elseif ($react == "add_content") {
echo 'add content';
$title = $_POST['title'];
$content = $_POST['content'];
$page = $_POST['page'];
if (!empty($title) && !empty($content) && !empty($page)) {
addcontent($title, $content, $page);
} else {
echo 'not enough info';
}
이 제 기능입니다 :
function addcontent($title, $content, $page) {
global $db;
$query1 = "INSERT INTO `content`(`title`, `content`) VALUES (:title, :content)";
$query2 = "INSERT INTO `navigation` ('page', 'content_id') SELECT :page, c.content_id FROM content c WHERE title=:page;";
try {
$stat = $db->prepare($query1);
$stmt = $db->prepare($query2);
$stat->bindParam(':title', $title);
$stat->bindParam(':content', $content);
$stat->bindParam(':page', $page);
$stat->execute($query1);
$stmt->execute($query2);
$result = "<strong>$title</strong> added<p>";
} catch (Exception $ex) {
$result = "$title deltetion failed";
}
}
내가 이미 더미 정보로 테스트했기 때문에 두 개의 쿼리가 작동 알고, 문제를 일으키는이 함수 내부에서 작업하게하는 것입니다.
나는이 필요하면 모르겠지만, 단지의 경우,이 내용이 추가 내 테이블 :
<form method="POST" action="index.php">
<input type="hidden" name="react" value="add_content">
<input type="hidden" name="page|title" value="admin">
<div align="center"><center><p>ADD A New Page<br>
Title: <input type="text" name="title|page" size="20"><br>
Content: <input type="text" name="content" size="20"><br>
<input type="submit" value="Submit"></p></center></div>
</form>
아에 잘못된 문
변경이에
$page
을 결합하고 있습니다. 그 대신에 내가 사용해야 할 것에 대한 제안이 있습니까? 나는 따옴표로 테스트했기 때문에 여전히 작동하지 않습니다. 편집 : NEvermind, 난 그냥 나머지 보았다. 나는 그것을 시도 할 것이다. – Jess@ Jess는'c.title'은'$ page'와 동일하므로'c.title'을 삽입하면 같은 결과를 얻을 수 있습니다. 하지만'content.page'가 아닌'$ page'의 값을 원합니까? (이 경우': page'를'c.page'로 바꾸면됩니다)? – FuzzyTree
navigation.page에서 값이 필요합니다. 왜냐하면 content.page가 전혀 없기 때문입니다. 내 테이블은 콘텐츠 (content_id, title, content) 및 탐색 (nav_id, page, content_id)으로 설정됩니다. 내 nav의 콘텐츠 ID는 외래 키이므로 두 번째 내비게이션 쿼리를 실행하여 페이지를 사용하여 content_id를 추출합니다./title 값은 정확하게 같아야합니다. 그러나 그것은 작동하지 않는 것 같습니다. – Jess