반응형
인사말 나는 텍스트를 편집하고 나중에 사용할 수 있도록 db에 저장할 수 있도록 다음 PHP 스크립트를 만들었습니다. 그러나 업데이트 / 삽입 쿼리에서 약간의 걸림돌이 발생했습니다. 내가 뭘 잘못하고 있는지 잘 모르겠지만 명령 중 하나만 실행됩니다. 이것이 호스팅 문제인지 또는 내가 잘못하고 있는지 확실하지 않습니다.
어떤 아이디어?
if (isset($_SESSION["logged"]) && $_SESSION["logged"]==1){
if ($_POST['action']=="edit"){
$query=mysql_query("select * from page where active=1 AND heading='".$_POST['selectedpage']."'");
$row = mysql_fetch_array($query, MYSQL_ASSOC);
echo "<h1>HTML Editor </h1><br>";
echo "<form name='saveform' action='./action.php' method='post'>";
echo "<textarea rows='100' cols='100' name='updateBox'>".$row['content']."</textarea>";
echo "<br><input name='action' type='submit' value='save edit'>";
echo "<input name='heading' type='hidden' value='".$row['heading']."'>";
echo "</form>";
} else if($_POST['action']=="save edit"){
$query=mysql_query("UPDATE page SET active='0' where heading='".$_POST['heading']."'");
$query=mysql_query("INSERT into page(heading,content,active) values('".$_POST['heading']."','".$_POST['updateBox']."','1')");
echo "<p>Changes saved succesfully!</p>";
echo "$_POST['updateBox']";
}
}
해결 방법
쿼리를 실행할 때마다 echo mysql_error ($ query)
를 호출하면 해당 쿼리에 오류가 있는지 확인할 수 있습니다. 쿼리 콘텐츠에 문제가있을 수 있습니다.
편집 성을 위해 수정 :)
제쳐두고, 일반적으로 이러한 종류의 오류를 자동으로 처리하는 빠른 데이터베이스 래퍼 또는 함수 처리기를 만드는 것은 매우 쉽습니다. 저는 클래스 기반 래퍼를 사용하지만 지금까지 그렇게하고 싶지 않다면 다음과 같이 할 수 있습니다.
//very quick-and-dirty
function queryOrDie($query)
{
$query = mysql_query($query);
if (! $query) exit(mysql_error());
return $query;
}
이를 통해 모든 쿼리를 전달할 수 있으며 디버깅을 더 쉽게 할 수 있습니다. 데이터베이스 래퍼 클래스도 많이 있습니다. 한 번 살펴 보시는 것이 좋습니다. 그들은 삶을 훨씬 쉽게 만듭니다. :)
참조 페이지 https://stackoverflow.com/questions/2097728
반응형
'MySql' 카테고리의 다른 글
MySQL DATETIME 필드의 GROUP BY 월 (0) | 2020.12.14 |
---|---|
MySQL 데이터베이스에서 현재 날짜를 가져 오는 MySQL 쿼리? (0) | 2020.12.14 |
MySQL "WHERE에서 집계 함수를 사용할 수 없습니다"오류를 방지하는 방법 (0) | 2020.12.14 |
MySQL Codeigniter의 result_array () ActiveRecord (0) | 2020.12.14 |
MySQL-0이 아닌 MIN 찾기 (0) | 2020.12.14 |
댓글