데이터베이스 'db2'에 'Directors'라는 테이블이 있습니다. HTML 양식이 있습니다. 값을 삽입하고 제출 버튼을 누르면 일부 유효성 검사가 완료된 후 (INSERT INTO에 대한) 새 행의 표에 내용을 삽입합니다 (스크립트에서주의 할 것입니다). 나는 혼자 힘으로 노력했지만 항상 '실패'라고 말하고있다.테이블에 삽입 할 수 없습니다. PHP/MySQL
<form action="process.php" method="post" accept-charset="utf-8">
<input type="hidden" name="pages_edit_nonce" />
<div class="section-item page-title-section">
<label for="title">Full Name:</label><span class="help">*</span><div class="input-wrap"><input type="text" name="name" value="" /></div> </div>
<div class="section-item">
<label for="label">Phone:</label><span class="help">*Optionally</span><div class="input-wrap"><input type="text" name="phone" value="" /></div> </div>
<div class="section-item">
<label for="redirect">Е-mail:</label><span class="help">*</span><div class="input-wrap"><input type="text" name="email" value="" placeholder="" /></div> </div>
<div class="section-item">
<label for="redirect">School:</label><span class="help">*</span><div class="input-wrap"><input type="text" name="school" value="" placeholder="" /></div> </div>
<div class="section-item">
<label for="redirect">City:</label><span class="help">*</span><div class="input-wrap"><input type="text" name="city" value="" placeholder="" /></div> </div>
<div class="section-item">
<label for="redirect">Password:</label><span class="help">*</span><div class="input-wrap"><input type="password" name="password" value="" placeholder="" /></div> </div>
<div class="admin-bar">
<div class="admin-bar-inner">
<input type="submit" value="Submit" class="btn" />
</div>
</div>
</form>
이 내 process.php 파일입니다 :
$server = "localhost";
$user = "****";
$pass = "****";
$conn = mysql_connect($server, $user, $pass);
$db = mysql_select_db("****", $conn);
session_start();
if(!$db) {
$_SESSION['ERRMSG'] = "<strong>Error:</strong> The access to the database is denied!";
header("Location: ../../admin/error/");
exit();
}
session_start();
function UniqueID() {
$UID = rand(); //Create unique ID
$check = mysql_query("SELECT * FROM `Directors` WHERE `UID` = '$UID'");
if(mysql_num_rows($check) > 0) { //Check if it exists
UniqueID(); //Redo the function
} else {
return $UID; //return the uniqueid
}
}
$UID = UniqueID(); //Unique ID
$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$school = $_POST['school'];
$city = $_POST['city'];
//Create INSERT query
$qry = "INSERT INTO `oclass`.`Directors`(`UID`,`Name`, `Phone`, `Email`, `SchoolGymnasium`, `City`, `Password`) VALUES('$UID','$name','$phone','$email','$school','$city','" . md5($password) . "')";
$result = mysql_query($qry);
//Check whether the query was successful or not
if($result) {
$_SESSION['SUCCMSGADDDIR'] = 'Sucessful.';
header("location: URL");
exit();
} else {
$_SESSION['ERRMSGADDDIR'] = 'Fail';
header("location: URL");
}
mysql_error를 가진 오류 세션 (변경 후) 그것이 나에게 다음과 같은 오류 준 : 치명적인 오류 : 이 내 HTML 양식입니다 수 10 번 줄에서 쓰기 문맥에서 함수 반환 값을 사용하지 않습니다. 라인 (10)은 다음과 같습니다
mysql_error() = "<strong>Error:</strong> The access to the database is denied!";
나는 기본 키 열 이름 ID (기본 키가이었다) 및 설정 UID 열을 제거했습니다, 지금 노력하고 있습니다. 고마워.
항상 "실패"하면 if ($ result)가 false를 반환한다는 것을 의미합니다. 즉, $ result 이 경우 잘못된 쿼리 (mysql 오류)로 인해 발생하는 유효한 리소스가 아닙니다. 에코 mysql_error 그리고 당신이 무엇을지고 있는지보십시오. –
mysql_ *이 아닌'PDO' 나'mysqli'를 사용해보십시오. 어쨌든, 쿼리를 디버깅하려면 실패한 세션의 값을 mysql_error()로 변경하고 출력을 공유하십시오. –
mysql_error()로 $ _SESSION [ 'SUCCMSGADDDIR']을 (를) 변경 하시겠습니까? –