2016-12-13 1 views
0
//-------------------------------------------------------------------------- 
// php script for adding data from mysql database 
//-------------------------------------------------------------------------- 

$ip = $_GET['ip']; //for debugging sake, will be POST from Ajax 
$key = substr(md5(microtime()),rand(0,26),5); //random referral ID - will implement exist analysis 
echo $ip; //debugging 
$dbhost = 'localhost'; 
$dbuser = user; 
$dbpass = 'pass'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 

if(! $conn) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("database", $conn); 
$tbl_name = "refs"; 
$sql="INSERT INTO $tbl_name(ip, key)VALUES('frfr', 'grgr')"; 

if (!mysql_query($sql,$con)) { 
    die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 

는 잘 모르겠어요 인용 된 값. 필자는 플랫 아웃 오류 또는 '필드 목록'오류의 알 수없는 열을 가져 오지 않고 PHP에서 구현할 수 없습니다.PHP MySQL의 쿼리를 삽입 일관성 오류

비슷한 질문으로 복사 - 붙여 넣기의 인쇄 할 수없는 정크 문자가 있지만 편집기에서 코드를 다시 입력했습니다. 모든 도움을 주셔서 감사합니다

나는 방법에 의해 요청한 IP를 'refs'테이블에 키 또는 ID로 저장하고 있습니다.

+1

http://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query –

+1

와우, 라이브 서버에서 사용 하시나요? –

+0

VALUES 앞에 공백이 없습니다. – deChristo

답변

3

key은 예약어이므로 백틱을 사용하여 이스케이프 처리해야합니다. 이와 함께 간격 문제도 있습니다. 귀하의 질의는 아래처럼 보입니다.

INSERT INTO refs(ip,`key`) VALUES ('insert','432') 

예약어를 열이나 테이블 이름으로 사용하지 마십시오. 의심스러운 경우 쿼리에있는 모든 열을 이스케이프합니다.

자세한 정보는 MySQL Documentation을 참조하십시오. 그것은 stackoverflow에 질문으로 게시하는 것보다 쉽습니다.

+0

좋아,이 코드는 여전히 나에게 오류를주고있다. id에 "키"열을 변경하고 시도해 보았습니다. 그러나 차이를 만드는 것처럼 보이지 않습니다. 내 로그의 오류는 [13-Dec-2016 10:55:53 UTC] PHP 경고 : mysql_query()는 매개 변수 2가 리소스가 될 것으로 예상하고, 줄 21에 /home/username/public_html/newref.php에 null이 있다고 가정합니다. – user3026679

+0

@ user3026679 그것은 mysqli가 아니라 mysql을 사용하기 때문입니다. 따라서 쿼리에 연결을 할당 할 필요가 없습니다. 'mysql_query ($ sql, $ con)'=>'mysql_query ($ sql)'또한'$ con'가 정의되어 있지 않습니다 ... 필요하다면 오타를 만들었을 것입니다. –

+0

@ user3026679, 지금은 다른 문제이며 Google 또는 stackoverflow에서 오류 메시지를 다시 검색합니다. 이 예제와 같이 수천 개의 예제를 얻을 수 있습니다. http://stackoverflow.com/questions/23142689/warning-mysql-query-expects-parameter-2-to-be-resource – Rahul