2012-01-30 4 views
3

데이터베이스 연결이 양호하고 테이블 이름과 열 이름이 정확하며 실제로 데이터베이스에 "advoom.com"값이있는 행이 있다고 가정합니다. 무엇이이 일을 방해합니까? 나는 "where 절에서 알 수없는 열 'advoom.com'을 얻습니다."이 간단한 "선택"문 ..... 왜 작동하지 않습니까?

또한 변수를 따옴표 밖에두고 "."을 사용하여 시도했습니다. 명령을 연결합니다. 같은 오류.

이것은 Dreamweaver로 작성된 PHP 페이지의 조각입니다.

$ pageURL = "advoom.com";

mysql_select_db($database_bizCon, $bizCon); 

$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = $pageURL"; 
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error()); 

답변

2

sql에서 문자열을 따옴표로 묶어야합니다.

$pageURL = "advoom.com"; 
mysql_select_db($database_bizCon, $bizCon); 
$query_Recordset1 = "SELECT * FROM `buttonprefsNEW` WHERE `curl` = '".$pageURL."'"; 
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error()); 

그리고 필요한 경우 입력을 이스케이프하는 것을 잊지 마십시오.

13

사용이 :

mysql_select_db($database_bizCon, $bizCon); 

$pageURL = mysql_real_escape_string($pageURL); 
$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = '" . $pageURL . "'"; 
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error()); 

당신은 단순히 일치하도록이 경우에는 따옴표가 필요합니다.

문자열 $pageURL은이 경우 열로 사용되며 문자열이 아닙니다. 따라서 advoom.com 열이 curl 인 모든 행을 선택하려고합니다. 이제 열 advoom.com이 존재하지 않으므로이 오류가 발생합니다.

+10

+1 좋은 explaination 한 모든 의견에 대한 –

0

당신은 변수 후 및 전에 Single Quote를 추가해야합니다. PHP

$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = '$pageURL'"; 
+0

감사 mysql_real_escape_string를 위해. 나는 좋다. .. –

0

에서 concactenation없는 simpliest 솔루션이 시도 :

$url = "http://example.com"; 
mysql_select_db($database_bizCon, $bizCon); 
$query_Recordset1 = "SELECT * FROM `buttonprefsNEW` WHERE `curl` = '".$url ."'"; 
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error()); 
관련 문제