그래서 내가하려는 것은 mysql db에 레코드를 삽입하는 매우 기본적인 방법입니다.php mysql 삽입 작동하지 않음
내가 전에 몇 번 해본 적은 있지만, 이번에는 나에게 맞지 않는다.
그래서 코드 라인의 다음과 같은 몇 나는 사용자가 DB에있는 경우 기본적으로 (기존 사용자가 동일한 이메일을 가진 사용자입니다) 다음
1 확인을 내 코드를 표시합니다
2 사용자가 DB에 있으면 상태 코드가 409 인 HTTP 응답을 전송하여 복제를 의미합니다.
3 사용자가 정상적으로 존재하지 않는 경우 (있는 경우 어쨌든, 이것은 DB에 성공적으로 만들어진 연결을 의미하는, 완벽하게 작동 있습니다, 어떤 정확한 사용자를 검색 할 수 있었다) DB에 삽입 할
내 코드
//Checking if the user exist
$result = mysql_query("SELECT * FROM $table_name WHERE email='".$post_email."'",$con) or die ('Error: '.mysql_error());
$num_rows = mysql_num_rows($result);
if($num_rows > 0){
// Close Connection
mysql_close($con);
echo "409";
}
else{
mysql_query("INSERT INTO samam_users (username,password,email) VALUES ('ALI','AHMED','[email protected]')",$con);
// Select the record
$user_id = mysql_insert_id();
$result = mysql_query("SELECT * FROM $table_name WHERE email='".$post_email."'",$con) or die ('Error: '.mysql_error());
// Close Connection
mysql_close($con);
echo "200 " . $result['username'];
}
나는이 문제에 대한 해결 방법을 인터넷 검색, 내가 있기 때문에 구문 오류로했다 통해 갔다 그러나 모든 유사한 문제 (여기서 문제입니다).
제안 사항? 미리 감사드립니다 :)
어떤 오류가 발생합니까? 이걸 디버깅하기 위해 당신은 무엇을 했습니까? 나는 당신의 코드에서 오류를 검사하거나 다루지 않는다. mysql_error()를 사용하여 MySQL이보고하는 에러를 확인해야한다. –
[새 코드에서 mysql_ * 함수를 사용하지 마십시오.] (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [빨간색 상자] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). ** 당신은 또한 [SQL injections] (http : // stackoverflow.com/q/60174) ** –
삽입 및 선택 문의 명백한 차이점은 tablename과 필드의 명시 적 표현입니다. 아마도 뭔가 잘못된 것일까 요? 당신은 테이블 스키마를 게시해야합니다. 오타는 흔하지 않습니다. – Peter