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

Пара вопросов по 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";

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

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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