Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576

Не срабатывает запрос

21.11.2012, 18:55. Показов 1992. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, подскажите по такой проблеме, делаю цикл для выборки, а он у меня ругается, что типа значение переменной превышено, по примеру все правильно...
Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
        include ("file:///C|/WebServers/home/ksite.ru/www/admin/blocks\bd.php");
        $result = mysql_query ("SELECT * FROM settings WHERE page='index'", $db);
        $myrow = mysql_fetch_array ($result);
        
    ?>
<!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=windows-1251" />
<title>
Админка
</title>
<link href="file:///C|/WebServers/home/ksite.ru/www/www/style.css" rel="stylesheet" type="text/css" />
<link href="file:///C|/WebServers/home/ksite.ru/style.css" rel="stylesheet" type="text/css" />
<link href="file:///C|/WebServers/home/ksite.ru/www/admin/style.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<center><table width="690" border="1" class="main_border">
  <?php include("file:///C|/WebServers/home/ksite.ru/www/admin/blocks/header.php");?>
  <tr>
    <td><table width="690" border="0">
      <tr>
        <td width="175" class="left" style="vertical-align:top">
        <?php include("file:///C|/WebServers/home/ksite.ru/www/admin/blocks\lefttd.php");?>
        </td>
        <td valign="top">
        <?
if (!isset($_GET['id']))
{
    $result = mysql_query ("SELECT title, id FROM settings", $db);
    $myrow = mysql_fetch_array ($result);
do
    {
        printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
    }
while ($myrow = mysql_fetch_array($result));
}
else
{
$i = $_GET['id'];
    $result = mysql_query ("SELECT title FROM settings WHERE id = '$i'", $db);
    $t = mysql_result($result, "title");
    $result = mysql_query ("SELECT text FROM settings WHERE id = '$i'", $db);
    $te = mysql_result($result, "text");
 
  ?><form id='formi' name='formi' method='post' action='file:///C|/WebServers/home/ksite.ru/www/admin/red_text.php?id=<?php echo $i;?>'>
    <p>
        <label>Введите название статьи<br /></label>   
        <input name='title' type='text' id='title' value='<?php echo $t;?>' /> 
    </p>
    <p>
        <label>Редактировать<br />
        <textarea name='text' id='text' cols='55' rows='20'><?php echo $te;?></textarea>
        </label>
</p>
    <p>
        <label>
        <input type="submit" name="Submit" id="Submit" value="Сохранить" />
        </label>
        <br />
    </p>
    </form>
 
    <?  }
        ?>
        </td>
      </tr>
    </table></td>
  </tr>
</table></center>
 
</body>
</html>
А вот скрин ошибки.
Миниатюры
Не срабатывает запрос  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2012, 18:55
Ответы с готовыми решениями:

Не срабатывает запрос
Здравствуйте. Имеется такой код. if(!empty($_POST)){ if(!empty($country)){ $search_country =...

Не срабатывает запрос SELECT
Здравствуйте! Написал поиск но при вводе пустого значения у меня вылазит вся таблица, подскажите пожалуйста как сделать так чтобы при вводе...

Не срабатывает запрос mysql
Всем привет. Есть таблица где восновном все поля имеют тип VARCHAR (255) , в одом из них есть текст например &quot;Привет&quot; делаю...

13
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
21.11.2012, 20:37
Так писать нельзя
PHP
1
2
3
4
5
6
$myrow = mysql_fetch_array ($result);
do
    {
        printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
    }
while ($myrow = mysql_fetch_array($result));
если запрос вернет 0 строк, в $myrow будет false и получите exception
PHP
1
2
3
4
while($myrow = mysql_fetch_array($result))
{
    printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 05:51  [ТС]
если запрос вернет 0 строк, в $myrow будет false и получите exception
PHP
1
2
3
4
while($myrow = mysql_fetch_array($result))
{
    printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}
[/QUOTE]

но тогда он мне ничего не возвращает, в моем варианте он возвращал "title" на страницу, после этого наживаешь на "title"(в моем случае это название статьи) и он открывает страницу редактирования статьи, на которой и вылетают ошибки.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.11.2012, 07:29
в mysql_result 2 параметр должна быть цифра ряда а не название поля

Добавлено через 2 минуты
PHP
1
$t = mysql_result($result, 0, "title");
Добавлено через 2 минуты
да и эти 2 запроса
PHP
1
2
$result = mysql_query ("SELECT title FROM settings WHERE id = '$i'", $db);
$result = mysql_query ("SELECT text FROM settings WHERE id = '$i'", $db);
замените на один? и id приведите к типу integer
PHP
1
2
$i = (int)$_GET['id'];
$result = mysql_query ("SELECT `title`, `text` FROM `settings` WHERE `id` = '$i'", $db);
Добавлено через 4 минуты
Цитата Сообщение от Владимир23 Посмотреть сообщение

но тогда он мне ничего не возвращает, в моем варианте он возвращал "title" на страницу, после этого наживаешь на "title"(в моем случае это название статьи) и он открывает страницу редактирования статьи, на которой и вылетают ошибки.
Вы наверное не убрали эту строку
PHP
1
$myrow = mysql_fetch_array ($result);
вот вам ничего и не возвращается
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 08:08  [ТС]
Вы наверное не убрали эту строку
PHP
1
$myrow = mysql_fetch_array ($result);
вот вам ничего и не возвращается
я так понимаю должно быть так?:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
        include ("blocks\bd.php");
        $result = mysql_query ("SELECT * FROM settings WHERE page='index'", $db);
        $myrow = mysql_fetch_array ($result);
        
    ?>
<!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=windows-1251" />
<title>
Админка
</title>
<link href="../www/style.css" rel="stylesheet" type="text/css" />
<link href="file:///C|/WebServers/home/ksite.ru/style.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<center><table width="690" border="1" class="main_border">
  <?php include("blocks/header.php");?>
  <tr>
    <td><table width="690" border="0">
      <tr>
        <td width="175" class="left" style="vertical-align:top">
        <?php include("blocks\lefttd.php");?>
        </td>
        <td valign="top">
        <?
if (!isset($_GET['id']))
{
    $result = mysql_query ("SELECT title, id FROM settings", $db);
    while($myrow = mysql_fetch_array($result));
        {
            printf ("<p><a href = 'edit_text.php?id=%s'>$s</a></p>", $myrow["id"], $myrow["title"]); 
        }
}
    else
{
    $i = (int)$_GET['id'];
    $result = mysql_query ("SELECT 'title', 'text' FROM 'settings' WHERE id = '$i'", $db);
    $t = mysql_result($result, 0, "title");
    $te = mysql_result($result, 0, "text");
 
  ?><form id='formi' name='formi' method='post' action='red_text.php?id=<?php echo $i;?>'>
    <p>
        <label>Введите название статьи<br /></label>   
        <input name='title' type='text' id='title' value='<?php echo $t;?>' /> 
    </p>
    <p>
        <label>Редактировать<br />
        <textarea name='text' id='text' cols='55' rows='20'><?php echo $te;?></textarea>
        </label>
</p>
    <p>
        <label>
        <input type="submit" name="Submit" id="Submit" value="Сохранить" />
        </label>
        <br />
    </p>
    </form>
 
    <?  }
        ?>
        </td>
      </tr>
    </table></td>
  </tr>
</table></center>
 
</body>
</html>
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.11.2012, 08:12
ну примерно так
работает?
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 08:15  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
ну примерно так
работает?
неа...пустая страница
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.11.2012, 08:30
так а какие ошибки выдает?
напишите в начале файла
PHP
1
error_reporting(-1);
Добавлено через 1 минуту
замените еще эту строку
PHP
1
printf ("<p><a href = 'edit_text.php?id=%s'>$s</a></p>", $myrow["id"], $myrow["title"]);
на
PHP
1
echo "<p><a href = 'edit_text.php?id={$myrow['id']}'>{$myrow['title']}</a></p>";
Добавлено через 9 минут
PHP
1
$result = mysql_query ("SELECT 'title', 'text' FROM 'settings' WHERE id = '$i'", $db);
вы здесь не те кавычки поставили нужно косые апострофы(буква ё) ставить для названий полей и таблиц MySQL и обычные для значений, посмотрите как у меня написано
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 08:53  [ТС]
исправил, выдает "Parse errors : syntax error, unexpected '}', expecting ',' or ';' in Q:\home\ksite.ru\www\\admin\edit_text.ph p on line 38 "

Добавлено через 6 минут
Цитата Сообщение от Владимир23 Посмотреть сообщение
исправил, выдает "Parse errors : syntax error, unexpected '}', expecting ',' or ';' in Q:\home\ksite.ru\www\\admin\edit_text.ph p on line 38 "
PHP
1
echo "<p><a href = 'edit_text.php?id={$myrow['id']}'>{$myrow['title']}</a></p>";
ошибок не выдает, но и список статей тоже не выводит
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.11.2012, 08:55
Цитата Сообщение от Владимир23 Посмотреть сообщение
исправил, выдает "Parse errors : syntax error, unexpected '}', expecting ',' or ';' in Q:\home\ksite.ru\www\\admin\edit_text.ph p on line 38 "
ищите где там лишняя скобка }

Добавлено через 59 секунд
покажите весь код еще раз
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 08:58  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
ищите где там лишняя скобка }

Добавлено через 59 секунд
покажите весь код еще раз
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
        include ("blocks\bd.php");
        $result = mysql_query ("SELECT * FROM settings WHERE page='index'", $db);
        $myrow = mysql_fetch_array ($result);
        /*errors_reporting (-1);*/
        
    ?>
<!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=windows-1251" />
<title>
Админка
</title>
<link href="../www/style.css" rel="stylesheet" type="text/css" />
<link href="file:///C|/WebServers/home/ksite.ru/style.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<center><table width="690" border="1" class="main_border">
  <?php include("blocks/header.php");?>
  <tr>
    <td><table width="690" border="0">
      <tr>
        <td width="175" class="left" style="vertical-align:top">
        <?php include("blocks\lefttd.php");?>
        </td>
        <td valign="top">
        <?
if (!isset($_GET['id']))
{
    $result = mysql_query ("SELECT title, id FROM settings", $db);
    while($myrow = mysql_fetch_array($result));
        {
            /*printf ("<p><a href = 'edit_text.php?id=%s'>$s</a></p>", $myrow["id"], $myrow["title"]);*/
            echo "<p><a href = 'edit_text.php?id = {$myrow[`id`]}'>{$myrow[`title`]}</a></p>";
        }
}
    else
{
    $i = (int)$_GET['id'];
    $result = mysql_query ("SELECT `title`, `text` FROM `settings` WHERE `id` = '$i'", $db);
    $t = mysql_result($result, 0, "title");
    $te = mysql_result($result, 0, "text");
 
  ?>
  <form id='formi' name='formi' method='post' action='red_text.php?id=<?php echo $i;?>'>
    <p>
        <label>Введите название статьи<br /></label>   
        <input name='title' type='text' id='title' value='<?php echo $t;?>' /> 
    </p>
    <p>
        <label>Редактировать<br />
        <textarea name='text' id='text' cols='55' rows='20'><?php echo $te;?></textarea>
        </label>
</p>
    <p>
        <label>
        <input type="submit" name="Submit" id="Submit" value="Сохранить" />
        </label>
        <br />
    </p>
    </form>
 
    <?  }
        ?>
        </td>
      </tr>
    </table></td>
  </tr>
</table></center>
 
</body>
</html>
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
22.11.2012, 09:01
34 строка точку с запятой уберите после while
37 строка там не косые апострофы должны быть а кавычки, косые апострофы используются только в SQL запросах
и 3-4 строки вы делаете запрос который потом не используется
1
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
22.11.2012, 09:57  [ТС]
Цитата Сообщение от alpex Посмотреть сообщение
34 строка точку с запятой уберите после while
37 строка там не косые апострофы должны быть а кавычки, косые апострофы используются только в SQL запросах
и 3-4 строки вы делаете запрос который потом не используется
Замечательно, список статей выводится, но форма редактирования статьи, не открывается, там же ниже в форме прописан файл еще red_text.php
0
5 / 5 / 4
Регистрация: 01.11.2009
Сообщений: 576
23.11.2012, 14:32  [ТС]
Цитата Сообщение от Владимир23 Посмотреть сообщение
Замечательно, список статей выводится, но форма редактирования статьи, не открывается, там же ниже в форме прописан файл еще red_text.php
...разобрался сам, оказалось закрывающей скобки не было в скрипте, он видимо код фориы принимал как код самого скрипта...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2012, 14:32
Помогаю со студенческими работами здесь

Запрос не срабатывает (частный случай)
Постараюсь всё изложить как можно понятнее. У меня есть форма я её заполняю и нажимаю на кнопку, чтобы сделать предварительный просмотр...

Не срабатывает SQL запрос в PHP
Добрый день! Столкнулся с проблемой, которую уже несколько часов не могу решить, вообщем есть файл(response.php) который отвечает за...

Не срабатывает запрос в БД если подставить переменную
Ситуация в следующем делаю постраничную навигацию на PHP, вот функция: // параметры для ПОСТРАНИЧНОЙ навигации $perpage = 4;...

Запрос срабатывает в SQL Server, но не корректно срабатывает в Visual Studio 2017
(SELECT ROW_NUMBER() over (ORDER BY AVG(Отметки.Отметка) DESC) ID, .ФИО, .Группа, Отметки., Отметки.Полугодие, AVG(Отметки.Отметка) AS...

Не срабатывает запрос
пытаюсь вынуть три записи из бд: string SQL_String = &quot;SELECT Roots, Link, Binyan FROM kornevoy_slovar WHERE Words...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru