|
|
|
| У меня такая проблема: на странице есть форма select от выбора в которой зависит значение другой формы select. Есть переменная, которая определяет запрос к базе данных, но при первом запуске вылезает ошибка, в которой говорится что нарушен синтаксис MySQL, что не мудрено, ведь в этой памяти может лежать все что угодно.
<form name="form" method="post" action="">
...
<?
...
$reg = mysql_query("SELECT * FROM ".$HTTP_POST_VARS['select']."");
while($region=mysql_fetch_row($reg));
...
?>
...
</form>
|
Подскажите, пожалуйста, или как задавать эту переменную только при первой загрузке, или перезагружать только форму. | |
|
|
|
|
|
|
|
для: tim_mironov
(22.09.2005 в 17:00)
| | вставить условие:
<?
if (!isset($HTTP_POST_VARS['select'])) $HTTP_POST_VARS['select']="значение по умолчанию";
?>
|
| |
|
|
|
|
|
|
|
для: tim_mironov
(22.09.2005 в 17:00)
| | Не совсем понятно, как ваш код узнает, что ему вообще надо обращаться к MySQL, никаких проверок не видно.
Принцип следующий:
Перед блоком кода запроса к MySQL внесите проверку на публикацию выбранного запроса:
Я так понял, что у вас имя (name) переменной SELECT ?
// проверяем наличие передачи переменной запроса и она не пуста
if (isset($_POST['select']) and !empty($_POST['select']))
{
// переменная есть и она не пуста
$reg = mysql_query("SELECT * FROM ".$_POST['select']);
while($region=mysql_fetch_row($reg));
}
|
Кстати, в вашем варианте получается, что SELECT хранит текст запроса вида " имя таблицы WHERE условие". Это так ? Безопаснее не передавать имя таблицы, а только часть аргумента. | |
|
|
|
|
|
|
|
для: Duran
(22.09.2005 в 17:16)
| | . | |
|
|
|
|
|
|
|
для: Duran
(22.09.2005 в 17:16)
| | Особая безопасность мне не нужна, но коли Вы об этом заговорили, то не могли бы вы подсказать как это сделать.
Вообще я пытаюсь сделать базу данных адресов с поиском и возможностью последующего вывода на принтере в формате под конверт, но поскольку по PHP у меня кроме самоучителя Симдянова и Кузнецова и вас всех ничего нет, то дело движется медленно.
...но движется!
Спасибо за помощь! | |
|
|
|