[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_real_escape_string
nugle
Есть код менюшки:

<td width="249" align="left" valign="top">


<?php

$sql = "select * from menu";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);


while ($row = mysql_fetch_assoc($result))
{
echo '<a href = "articles.php?name='.$row['name'].' ">'.$row['name'].'</a><br />';

}

?>

</td>


И код страницы куда переходят ссылки:

<?php 	

require "./options/db.php";

$menu_name = !empty($_GET['name']) ? $_GET['name'] : null ;

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
</
head>

<
body>
<
table align="center" width="960" height="437" border="0" cellpadding="0" cellspacing="0">
<
tr>
<
td height="198" colspan="2"> </td>
</
tr>
<
tr>
<?php

require "blocks/lefttd.php";

?>
<td width="711" align="left" valign="top"><?php
if($menu_name)

{

$sql = "select * from menu_section where menu_name = ".mysql_real_escape_string($menu_name);
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

while ($row = mysql_fetch_assoc($result))
{

echo '<a href = "index.php?name='.$row['name'].' ">'.$row['name'].'</a><br />';

}
}


?></td>
</
tr>
</
table>
</
body>
</
html>


Проблема в том что если заносить в базу числа то всё работает например
1, 2, 3.А если слова Main, Second
то пишет

Unknown column 'Main' in 'where clause'
select * from menu_section where menu_name = Main

Подскажите пожалуйста в чём дело?



Спустя 9 минут, 46 секунд (28.11.2010 - 13:10) vinnie написал(а):
а какой тип поля ты указал для menu_name?

Спустя 16 минут, 49 секунд (28.11.2010 - 13:27) nugle написал(а):
а нз, а как посмотреть?

Спустя 8 минут, 31 секунда (28.11.2010 - 13:35) vinnie написал(а):
открой PhpMyAdmin, посмотри структуру своей таблицы, там видно будет.

Спустя 5 минут, 17 секунд (28.11.2010 - 13:40) nugle написал(а):
MyISAM

Спустя 2 минуты, 43 секунды (28.11.2010 - 13:43) vinnie написал(а):
неее, не то. базу данных, таблицы ты сам создавал?) так вот, нажми на таблицу свою, там появятся поля, и напротив каждого поля есть его тип, например: int, varchar, date и т.д. что у тебя там прописано?

Спустя 54 секунды (28.11.2010 - 13:44) nugle написал(а):
varchar

Спустя 3 минуты, 6 секунд (28.11.2010 - 13:47) vinnie написал(а):
покажи код, где ты заносишь в базу

Спустя 1 минута (28.11.2010 - 13:48) nugle написал(а):
Что занашу?я через инсерт в phpmyadmin занашу

Спустя 1 минута, 41 секунда (28.11.2010 - 13:50) vinnie написал(а):
код напиши сюда

Спустя 30 секунд (28.11.2010 - 13:50) nugle написал(а):
чего, ты скажи, я код вверху выложил

Спустя 5 минут, 28 секунд (28.11.2010 - 13:56) vinnie написал(а):
как ты заносишь данные в базу? где запрос? в коде выше ты выбираешь из базы, но не заносишь.

mysql_query ("INSERT INTO `table` (`name`, `surname`) и так далее");


нужно что-то типа этого

Спустя 41 секунда (28.11.2010 - 13:56) nugle написал(а):
я же говорю, что в phpmyadmin заношу, я не делал пока эту страницу

Спустя 1 минута, 48 секунд (28.11.2010 - 13:58) vinnie написал(а):
Цитата
я через инсерт в phpmyadmin занашу


а зачем пишешь, что используешь инсерт)))

Спустя 14 минут, 35 секунд (28.11.2010 - 14:13) vinnie написал(а):

<?php
//Здесь выбираем из базы меню
mysql_connect ("localhost", "root");
mysql_select_db ("menu");
$sql = mysql_query ("SELECT * FROM `menu_nav`");
if (!mysql_num_rows ($sql))
echo "Нет менюшек";
else
{
while ($row = mysql_fetch_assoc ($sql))
echo "<a href=\"20.php?".$row["name"]."\">".$row["name"]."</a>";
}

Спустя 15 минут, 9 секунд (28.11.2010 - 14:28) nugle написал(а):
это всё есть, insert в рhрmyadmin кнопочка такая есть

Спустя 9 минут, 39 секунд (28.11.2010 - 14:38) vinnie написал(а):
скинь дамп своей базы

Спустя 1 час, 3 минуты, 47 секунд (28.11.2010 - 15:41) Nikitian написал(а):
Надо так:

$sql = "select * from menu_section where menu_name = '".mysql_real_escape_string($menu_name)."'";

Спустя 8 минут, 52 секунды (28.11.2010 - 15:50) nugle написал(а):
точняк, спс
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.