2012-01-30 2 views
3

Предположим, что соединение с базой данных является хорошим, имя таблицы и имя столбца верны и что на самом деле есть строка в базе данных со значением «advoom.com». Что удерживает это от работы? Я получаю сообщение об ошибке «Неизвестный столбец« advoom.com »в« where clause »«Это простое предложение «Выбрать» ..... почему он не работает?

Я также попытался поместить переменную вне кавычек и использовать «.». для объединения команды. Такая же ошибка.

Это фрагмент страницы PHP, написанной в Dreamweaver.

$ 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 хороших +1 для объяснений mysql_real_escape_string –

0

Вы должны добавить Single Quoteперед тем и после переменной. Простейшее решение без concactenation в PHP

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

спасибо за все ваши комментарии. Мне хорошо идти ... –

0

Попробуйте:

$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()); 
Смежные вопросы