데이터베이스에 데이터를 입력하려고하는데 계속 오류가 발생합니다. 나는 문제가 어디 있는지 전혀 모른다. 코드는 다음과 같습니다.PHP를 사용하여 양식에서 데이터베이스로 데이터 입력
<?php
$sql = "INSERT INTO $db_table (title,group,overlapok,userid,name,phone,email,description,managers,location,notify,notifyman,
remind,remindman,appmsg,viewaccess,viewulist,viewclist,makeaccess,makeulist,makeclist,showappinfo)
VALUES ('".mysql_real_escape_string(stripslashes($_REQUEST['txtTitle'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkGroupCal'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkAllowOverlap'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtUserID'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtOwner'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtPhone'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtEmail'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtDesc'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtManagers'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtLocation'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkNotifyMe'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkNotifyMgrs'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkRemind'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['chkRemindMan'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtAppText'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['selViewBlockRestr'])).
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtViewBlocksUserID']))
"','".mysql_real_escape_string(stripslashes($_REQUEST['txtViewBlocksCourseID']))."','".mysql_real_escape_string(stripslashes($_REQUEST['selMakeApptRestr']))."','".mysql_real_escape_string(stripslashes($_REQUEST['txtMakeApptUserID']))."','".mysql_real_escape_string(stripslashes($_REQUEST['txtMakeApptDptID']))."','".mysql_real_escape_string(stripslashes($_REQUEST['chkShowAppInfo']))."')";
if($result = mysql_query($sql,$db))
{
echo '<h1>Thank you</h1> Your information has been entered into our database<br><br>
<p> <a href="viewcalendar.page.php"> View Calendar </a> </p>
<img src="eDiary.jpg"';
}
else
{
echo "ERROR: ";
} ?>
양식에 체크 상자가 비어있을 수있는 섹션이 있습니다.
귀하의 조언을 따르고 PDO를 사용했습니다. 다음 오류를 반환합니다. 경고 : PDO :: __ construct() [pdo .-- construct] : [2002]/opt/lampp/htdocs/Scheduler/pages/enterCal의 잘못된 인수 (unix를 통해 연결을 시도하는 중 : //) .page.php on line 72 연결 실패 : SQLSTATE [HY000] [2002] 잘못된 인수 치명적 오류 :/opt/lampp/htdocs/Scheduler/pages/enterCal의 비 객체에서 멤버 함수 exec()를 호출하십시오. .page.php on line 80.
$ db는 (는) 객체가 아니며 연결이 실행되고 있지 않습니다. 어떻게 처리합니까? 나는 Google을 사용해 봤지만 작동하는 것으로 생각되지 않습니다.
<?php
$dsn = 'mysql:host=localhost;dbname=eDiary';
$user = 'root';
$password = '';
try
{
$db = new PDO($dsn,$user,$password);
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);}
catch (PDOException $e) {
echo 'Connection Failed: ' . $e->getMessage();
}
$result = $db->exec("INSERT INTO wassCalendar(title, group, overlapok, userid, name, phone, email, description, managers, location, notify, notifyman, remind,
remindman, appmsg, viewaccess, viewulist, viewclist, makeaccess, makeulist, makeclist, showappinfo)
VALUES($txtTitle, $chkGroupCal, $chkAllowOverlap, $txtUserID, $txtOwner, $txtPhone, $txtEmail, $txtDesc, $txtManagers,
$txtLocation, $chkNotifyMe, $chkNofityMgrs, $chkRemind, $chkRemindMan, $txtAppText, $selViewBlockRestr,
$txtViewBlocksUserID, $txtViewBlocksCourseID, $selMakeApptRestr, $txtMakeApptUserID, $txtMakeApptDptID,
$chkShowAppInfo)";
$insert_id = mysql_insert_id();
?>
글쎄, 오류가 무엇입니까? http://php.net/manual/en/function.mysql-error.php 또한 mysql_ 함수를 사용하는 것을 권장하지 않습니다. 대신 "PDO 또는 MySQLi를 대신 사용하십시오". –
코드가 백틱으로 시작됩니다. 그건 틀렸어요. 또한 오류는 무엇입니까? –
먼저 작은 쿼리로 시도하십시오. 또한 게시 한 코드의 구문을 실제로 확인하십시오 (이 웹 사이트의 편집 도구로 인해 어려움을 겪고있는 것처럼 보였으므로 조금 더 편하게 생각하십시오). 정확한 오류 메시지가 누락되어 질문에 추가하면 실제로 실행 한 오류가 명확합니다. – hakre