2011-09-05 3 views
1
그래서 이것을 가지고

,MySQL을 (그리고/또는) PHP 문제

<?php 
require "database.php"; 

$to=$_GET['toF']; 
$content=$_POST['message_contentl']; 
$from=$_GET['fromF']; 

$ck_reciever = "SELECT Username FROM accounts WHERE username = '".$to."'";  

if(mysql_num_rows(mysql_query($ck_reciever)) == 0){ 
die("The user you are trying to contact don't exist. Please go back and try again.<br> 
<form name=\"back\" action=\"Send_FR.php\" method=\"post\"> 
<input type=\"submit\" value=\"Try Again\"> 
</form> 
"); 
}else{ 

$a1 = $_POST['message_contentl']; 
$a2 = $_GET['fromF']; 
$a3 = $_GET['toF']; 
mysql_query("INSERT INTO Friends (fr_message, From, To) VALUES ('$a1', '$a2', '$a3')");  OR die("Could not send the message: <br>".mysql_error()); 
echo "The Friend Request Was Successfully Sent!"; 
?> 

그러나 그것은 작동하지 않습니다.

는 않는 모든 날이 오류 메시지가 줄입니다 : 당신은 당신의 SQL 구문에 오류가

을; 라인 1에서 'From', 'Extro', 'Syncro') '근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오.

Help?

+0

수 인정한다 : 작은 예를 들어 전은 absurdo? –

+0

[MySQL에서 예약어를 테이블 또는 열 이름으로 사용하기 때문에 구문 오류가 발생할 수 있음] (http://stackoverflow.com/questions/23446377/syntax-error-due-to-using-a-reserved-word -as-a-table-or-column-name-in-mysql) –

답변

5

fromto MySQL의에서 당신은 역 따옴표에 그들을 배치하여 열 또는 테이블 이름과 같은 예약어를 사용할 수 있지만, 난 강력하게 열 이름으로 예약 된 단어의 사용에 대해 조언 것, SQL 예약어, 그것은 끔찍하게 혼란 .

select `select`, `from` from `where` where `like` like 'like'; 

그래, 엔진이 그것을 먹고,하지만 당신은 fr_message 열이 null 값을 허용 않습니다 더 읽기 :-)

1

FROM은 예약 된 SQL 키워드입니다.이 이름을 가진 열이나 테이블이 있으면 역 인용 (`)해야합니다.