2011-12-11 6 views
2

어떤 이유로 단일 필드가 내 데이터베이스 (전자 메일 필드)에 삽입되지 않습니다. 나는 틀린 것을 발견 할 수 없다. 변수에 대해 잘 표시했습니다. 그러나 아무것도 수동 텍스트를 삽입하는 것 같다. 누구든지 오류를 볼 수 있습니까?단일 필드 삽입하지 않음

mysql_query("INSERT INTO 'users' (fbID, firstName, lastName, facebookURL, birthday, updated, accessToken, emailOne) VALUES ('".mysql_real_escape_string($userId)."', '".mysql_real_escape_string($firstName)."', '".mysql_real_escape_string($lastName)."', '".mysql_real_escape_string($link)."', '".mysql_real_escape_string($birthday)."', '".mysql_real_escape_string($today)."', '".mysql_real_escape_string($accessToken)."', '".mysql_real_escape_string($email)."')"); 
+0

데이터베이스의 필드는 참조 용으로 varchar입니다. –

+0

어떤 종류의 오류가 발생합니까? –

+0

오류가 없습니다. 그냥 아무 것도 삽입하지 않는다 –

답변

1

디버그 용으로 코드 예제를 참조하십시오.

myQuery="INSERT INTO `users` (fbID, firstName, ... "; 
mysql_query(myQuery); 

echo myQuery; 

그래서 쿼리를 인쇄하여 phpmyadmin에 붙여 넣어 테스트 할 수 있습니다. 무언가가 작동하지 않으면 오류가 발생합니다.

는 쿼리가 작동합니다 올 경우 php documentation

<?php 
    $result = mysql_query(myQuery); 
    if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
    } 
?> 

에서 언급 한 것처럼 처리 일부 오류를 소개합니다. 그렇지 않으면 오류에 대해 알려야합니다.

+0

오류가 없습니다. –

0

작은 따옴표는 SQL의 문자열 및 날짜 리터럴을 나타냅니다. 역 따옴표 또는 따옴표가 필요하지 않을 수 있습니다.

mysql_query("INSERT INTO `users` (... 

SQL을 생성하는 PHP 코드를보고 SQL을 디버그하는 것은 정말 어렵습니다. 아닌 PHP 코드, 오류가 훨씬 더 분명 SQL 문자열보고에 의해 종종

$sql = "INSERT INTO `users` (...)"; 

// you can output the string here to debug it 

mysql_query($sql); 

: 당신이 있다는 SQL 문자열과 출력을 형성하는 방법을 배워야한다.

또한 쿼리 후 오류 조건을 확인해야합니다. mysql_query()는 잘못된 것이 있으면 FALSE를 반환하고 mysql_error()를 사용하여 어떤 일이 일어 났는지 확인할 수 있습니다. http://php.net/manual/en/function.mysql-query.php

+0

을 삭제 해 보시기 바랍니다. 모든 필드가 입력되지만 해당 이메일 필드는 여전히 –

+0

또한 phpmyadmin에서 시도하고 괜찮음을 삽입합니다. –

관련 문제