Перейти к контенту

Пара вопросов по php&mysql


Рекомендуемые сообщения

всем привет. помогите плиз, есть пара вопросов относительно поиска, смысл такой:

запрос вида:

$poisk = 'SELECT *
FROM `News` 
WHERE `text` LIKE \'%'.$_POST['newsname'].'%\'
LIMIT 0 , 20';

при исполнении появляется ошибка:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' LIKE '%новости%' LIMIT 0 , 20' at line 3

хотя, если сделать echo $poisk; то сгенерируемый запрос ( SELECT * FROM `News` WHERE `text` LIKE '%новости%' LIMIT 0 , 20 ) без проблем работает в phpadmin, в чем может быть ошибка? :D

Изменено пользователем PROFF89
Ссылка на комментарий
Поделиться на других сайтах

switch($_GET['page'])
{
default: 
echo "<form action=\"poisk.php?page=poisk&ok=1\" method=\"post\">\n".
			"<input type=\"text\" name=\"newsname\" value=\"".$_POST['newsname']."\">".
		   "<br/><input type=\"submit\" value=\"  Editor  \" name=\"ok\" /></form>\n";
break;
  case 'poisk':
$poisk = 'SELECT *
FROM `News` 
WHERE `text` LIKE \'%'.$_POST['newsname'].'%\'
LIMIT 0 , 20';
		   echo $poisk;
		   $result22 = mysql_query($poisk) or die(mysql_error());
		/* Выводим результаты в html */
print "<table>\n";
while ($line = mysql_fetch_array($result22, MYSQL_ASSOC)) {
	print "\t<tr>\n";
	foreach ($line as $col_value) {
		print "\t\t<td>$col_value</td>\n";
	}
	print "\t</tr>\n";
}
print "</table>\n";
break;

  /* Освобождаем память от результата */
mysql_free_result($result22);
/* Закрываем соединение */
mysql_close($link);
	 }
?>

впринипи все правильно, и запрос генерируется правильно, и phpadmin его примимает...

Ссылка на комментарий
Поделиться на других сайтах

Мне кажется сейчас Song будет ругаться, и есть за что. Правда вопроса это не касается, но почему

	  /* Освобождаем память от результата */
mysql_free_result($result22);
/* Закрываем соединение */
mysql_close($link);

именно в этом месте, а? :D

Ссылка на комментарий
Поделиться на других сайтах

И что если ты изменишь вот так:

$poisk = "SELECT *
FROM `News` 
WHERE `text` LIKE '%".$_POST['newsname']."%'
LIMIT 0 , 20";

то оно типа не работает?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.