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

Warning: mysql_fetch_array

25.09.2013, 18:27. Показов 1884. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите плиз. Первый день работаю с PHP + MySQL.

Не могу из URL значение достать и связать его с таблицей в MySQL.

Выдает ошибку:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in person.php on line 21

Вот сама строка и связанные с ней :
PHP
1
2
3
4
5
6
7
8
9
10
11
$strSQL == "SELECT * FROM Patients WHERE NoPat = " . $_GET["NoPat"];
    $rs = mysql_query($strSQL);
    
    while($row = mysql_fetch_array($rs)) {
 
        echo "<dt>FirstName:</dt><dd>" . $row["FirstName"] . " " . $row["LastName"] . "</dd>";
        echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";
        echo "<dt>Medic:</dt><dd>" . $row["Medic"] . "</dd>";
        echo "<dt>Diagnosis:</dt><dd>" . $row["Diagnosis"] . "</dd>";
 
    }
Строка 4 здесь это строка 21, которая выдает ошибку.
с MySQL и Базой Данных соединено верно.
Не знаю уже где и что надо изменить.
Помогите плиз
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.09.2013, 18:27
Ответы с готовыми решениями:

Warning: mysql_fetch_array()
Выдаёт такую ошибку, код: $db1 = mysql_connect('localhost', 'epog333', '395267900'); $resultt = mysql_query('SELECT img FROM settings...

Warning: mysql_fetch_array()
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\test1.ru\www\incfiles\system.php on line 76...

Warning: mysql_fetch_array() Что делать?
Хочу что бы в таблице отображались те записи которые соответствуют логину авторизированного пользователя, но выдаёт вот такую вот ошибку,...

22
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
25.09.2013, 21:28
Цитата Сообщение от Balagur Посмотреть сообщение
Помогите плиз. Первый день работаю с PHP + MySQL.

Не могу из URL значение достать и связать его с таблицей в MySQL.

Выдает ошибку:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in person.php on line 21

Вот сама строка и связанные с ней :
PHP
1
2
3
4
5
6
7
8
9
10
11
$strSQL == "SELECT * FROM Patients WHERE NoPat = " . $_GET["NoPat"];
    $rs = mysql_query($strSQL);
    
    while($row = mysql_fetch_array($rs)) {
 
        echo "<dt>FirstName:</dt><dd>" . $row["FirstName"] . " " . $row["LastName"] . "</dd>";
        echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";
        echo "<dt>Medic:</dt><dd>" . $row["Medic"] . "</dd>";
        echo "<dt>Diagnosis:</dt><dd>" . $row["Diagnosis"] . "</dd>";
 
    }
Строка 4 здесь это строка 21, которая выдает ошибку.
с MySQL и Базой Данных соединено верно.
Не знаю уже где и что надо изменить.
Помогите плиз
Здесь $strSQL == "SELECT * FROM Patients WHERE NoPat = " . $_GET["NoPat"];
Два знака равно, зачем?
0
Заблокирован
25.09.2013, 21:48
Не по теме. То же самое дает такая строка:

PHP
1
while($row = mysql_fetch_array($rs)) foreach($row as $key => $value) echo "<dt>$key:</dt><dd>$value</dd>";
Конкатенацию, конечно, не дает, но ее можно перенести в запрос.
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
25.09.2013, 22:41  [ТС]
Убрал второе =
Закоментировал свой цикл и вставил:
PHP
1
while($row = mysql_fetch_array($rs)) foreach($row as $key => $value) echo "<dt>$key:</dt><dd>$value</dd>";
Но, я так понял ,вы этими коментами и не хотели решить ошибку?
Ошибка в 21 строке никуда не делась.
Я уже другие 2 скрипта написал, но в аналогичных строчках такие же ошибки выдает.
Такое ощущение что показатель NoPat проклят . Хотя в базу MySQL нормально добавляется, и в PHPmyAdmin видны значения. А выводить в браузер нехочет(
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
25.09.2013, 22:56
Цитата Сообщение от Balagur Посмотреть сообщение
Убрал второе =
Закоментировал свой цикл и вставил:
PHP
1
while($row = mysql_fetch_array($rs)) foreach($row as $key => $value) echo "<dt>$key:</dt><dd>$value</dd>";
Но, я так понял ,вы этими коментами и не хотели решить ошибку?
Ошибка в 21 строке никуда не делась.
Я уже другие 2 скрипта написал, но в аналогичных строчках такие же ошибки выдает.
Такое ощущение что показатель NoPat проклят . Хотя в базу MySQL нормально добавляется, и в PHPmyAdmin видны значения. А выводить в браузер нехочет(
А так?
PHP
1
2
3
4
5
6
7
8
9
10
  $rs = mysql_query('SELECT * FROM `Patients` WHERE `NoPat`="'.$_GET['NoPat'].'"') or die (mysql_error());
    
    while($row = mysql_fetch_array($rs)) {
 
        echo "<dt>FirstName:</dt><dd>" . $row["FirstName"] . " " . $row["LastName"] . "</dd>";
        echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";
        echo "<dt>Medic:</dt><dd>" . $row["Medic"] . "</dd>";
        echo "<dt>Diagnosis:</dt><dd>" . $row["Diagnosis"] . "</dd>";
 
    }
0
Заблокирован
26.09.2013, 14:15
Что в $_GET['NpPat'] записано, проверяли? Санировали?
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
26.09.2013, 18:04  [ТС]
Цитата Сообщение от M1lleniuM Посмотреть сообщение
А так?
Код PHP
1
2
3
4
5
6
7
8
9
10
11
* $rs = mysql_query('SELECT * FROM `Patients` WHERE `NoPat`="'.$_GET['NoPat'].'"') or die (mysql_error());
while($row = mysql_fetch_array($rs)) {
echo "<dt>FirstName:</dt><dd>" . $row["FirstName"] . " " . $row["LastName"] . "</dd>";
* * * * echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";
* * * * echo "<dt>Medic:</dt><dd>" . $row["Medic"] . "</dd>";
* * * * echo "<dt>Diagnosis:</dt><dd>" . $row["Diagnosis"] . "</dd>";
}
ошибка пропала, но данные не выводятся.

Цитата Сообщение от sqlnub Посмотреть сообщение
Что в $_GET['NpPat'] записано, проверяли? Санировали?
я пока что полный чайник, подскажите как посмотреть в $_GET['NoPat'] что записано?

вбил строку echo $_GET['NoPat'] . ничего не выводит. значит значение пусто, правильно?
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
26.09.2013, 18:19  [ТС]
вот таблица к которой я обращаюсь, если что.
Миниатюры
Warning: mysql_fetch_array  
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
26.09.2013, 18:26
Цитата Сообщение от Balagur Посмотреть сообщение
вот таблица к которой я обращаюсь, если что.
PHP
1
2
3
4
5
6
7
8
9
10
$rs = mysql_query('SELECT * FROM `Patients` WHERE `NoPat`=14') or die (mysql_error());
    
    while($row = mysql_fetch_array($rs)) {
 
        echo "<dt>FirstName:</dt><dd>" . $row["FirstName"] . " " . $row["LastName"] . "</dd>";
        echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";
        echo "<dt>Medic:</dt><dd>" . $row["Medic"] . "</dd>";
        echo "<dt>Diagnosis:</dt><dd>" . $row["Diagnosis"] . "</dd>";
 
    }
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
26.09.2013, 19:12  [ТС]
Прекрасное решение, но только если в базе один пациент. Как вытащить значение NoPat по нормальному?

Добавлено через 5 минут
по русски напишу то что хочу, но не могу осуществить:
выбрать из таблицы "Patients" все данные строки , в которой показатель NoPat равен показателю NoPat из URL
URL выглядит так:
http://localhost/person.php?NoPat = 14

Добавлено через 24 минуты
вообще не понимаю
есть у меня url
http://localhost/person.php?NoP = 14
пишу строку:
PHP
1
echo "<h1>Show " . $_GET["NoP"] . "</h1>";
выводит только Show

Грустно
0
25 / 25 / 4
Регистрация: 21.10.2012
Сообщений: 391
26.09.2013, 19:41
Цитата Сообщение от Balagur Посмотреть сообщение
Прекрасное решение, но только если в базе один пациент. Как вытащить значение NoPat по нормальному?

Добавлено через 5 минут
по русски напишу то что хочу, но не могу осуществить:
выбрать из таблицы "Patients" все данные строки , в которой показатель NoPat равен показателю NoPat из URL
URL выглядит так:
http://localhost/person.php?NoPat = 14

Добавлено через 24 минуты
вообще не понимаю
есть у меня url
http://localhost/person.php?NoP = 14
пишу строку:
PHP
1
echo "<h1>Show " . $_GET["NoP"] . "</h1>";
выводит только Show

Грустно
Это было не решение, а проверка - сработает ли. Если сработало, значит в GET нет ничего на самом деле.
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
26.09.2013, 22:21  [ТС]
Спс, M1lleniuM, что поправил строку!
А почему Get не захватывает? URL и Get вроде нормально прописаны? почему не работает???
0
Заблокирован
26.09.2013, 23:38
Цитата Сообщение от Balagur Посмотреть сообщение
пока что полный чайник, подскажите как посмотреть в $_GET['NoPat'] что записано?
вбил строку echo $_GET['NoPat'] . ничего не выводит. значит значение пусто, правильно?
php по задумке консольная прога, типа древнего VB (web это вообще историческая спираль: что 20 лет назад было круто на локальном компе, сейчас круто на вебе) поэтому для вывода в браузер у него есть специальный модуль, который, если браузера нет вообще можно отключить и выводить только на экран (что и делается когда скрипт запускается по расписанию - crontab). Надеюсь вы понимаете разницу между экраном и окном. Поэтому напишите себе вот такую функцию или метод:
PHP
1
2
3
4
5
6
7
echoit($var) {
print '<br/>';
print '<pre>'
print_r ($var);
print '</pre>'
print '<br/>';
}
Чтобы видеть в браузере все по-человечески. И юзайте ее почаще проверяя все подряд (кроме ресурсов, конечно).
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 7
27.09.2013, 01:22  [ТС]
Sqlnub, спс за напутствие! Пока что не могу писать в ЛС, но запрос на знакомство добавил. Сегодня я уже не смогу полностью оценить Ваш совет. Но могу попросить, если Вы пользуетесь какойнибудь текстовой связью, не могли бы вынаписать контакт в ЛС. Докучать не буду, и как только поеросите, отстану.
0
Заблокирован
27.09.2013, 06:40
Пользуйтесь форумом и ассоциативной памятью интернета. php и вообще сетевые технологии это особое, конечно, программирование где обычная, привычная локальная логика подчас не работает. Вы делаете echo $var или даже print_r($var) и не можете понять почему функцию назвали print (human) readable. На "экране" - каша. Оказывается если заглянуть в коды html - там красиво. Потому что "экран" это окно браузера который понимает только html, а такого рода функции выводят данные как на экран, в консоль то бишь. Ну вот, оформив этот вывод в хтмл вы сможете увидеть все без лишних хлопот. Можно добавить пару строчек для обозначения факта вывода.

print '---------------'; // до вывода
print '---------------'; // после вывода

Тогда увидев
------------
------------

Вы поймете что проверяемая переменная - пуста.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.09.2013, 08:12
Цитата Сообщение от sqlnub Посмотреть сообщение
php по задумке консольная прога
серьезно что-ли? И откуда такая информация?
В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»).
В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.[4]
Цитата Сообщение от sqlnub Посмотреть сообщение
PHP
1
2
3
4
5
6
7
echoit($var) {
print '<br/>';
print '<pre>'
print_r ($var);
print '</pre>'
print '<br/>';
}
к чему использование print ?
PHP
1
2
3
echoit($var) {
  echo '<br/><pre>', print_r ($var, true), '</pre><br/>';
}
Только к чему использование print_r ? Если переменная не объявлена, вы ничего не увидите. Проверять переменные необходимо через var_dump, а не print_r
PHP
1
2
3
4
5
echoit($var) {
  echo '<br/><pre>';
  var_dump($var);
  echo '</pre><br/>';
}
0
 Аватар для Nabijon
9 / 9 / 0
Регистрация: 15.02.2013
Сообщений: 121
27.09.2013, 08:36
Вы метод get элемента NoPat прописними написали? У меня была проблема из за того что в метод элемента я написал "get" строчними буквами
0
Заблокирован
27.09.2013, 09:53
Цитата Сообщение от KOPOJI Посмотреть сообщение
var_dump
Это когда надо типы посмотреть. Если переменная не объявлена должно быть сообщение насколько я понимаю.

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
серьезно что-ли? И откуда такая информация?
Оттуда. Такая же как WScript.exe скажем.

Добавлено через 1 минуту
Впрочем, давайте посмотрим на окно php, хотя бы одно и на встроенные средства построения UI.

Добавлено через 2 минуты
А все потому что окнами так и не смогли научиться пользоваться. Теперь что окно, что экран - эквипенисуально.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.09.2013, 13:40
Цитата Сообщение от sqlnub Посмотреть сообщение
Это когда надо типы посмотреть
ну да, конечно. Отображение нотайсов не у всех по дефолту включено. И вот ведь незадача, если там пустое значение (NULL, false, ''), то при print_r мы ничего не увидим
PHP
1
echo '<br><pre>', print_r(NULL, true), '</pre><br>';
PHP
1
echo '<br><pre>'; var_dump(NULL); echo '</pre><br>';
Цитата Сообщение от sqlnub Посмотреть сообщение
Оттуда. Такая же как WScript.exe скажем.
Полный бред. Ваше "оттуда" - слив ни о чем. Создавался пых не как консольная прога, о чем четко указано
0
Заблокирован
27.09.2013, 19:10
Логики возражения я не понял. php как программа - типичная консольная, с тем только отличием что прямо из command-line интерпретировать не хочет. В точности как wscript, vbscript на винде. В досе был BASIC который на манер нынешнего mysql принимал коды через командную строку.

http://upload.wikimedia.org/wi... xample.png

PHP code is interpreted by a web server with a PHP processor module, which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data.
http://en.wikipedia.org/wiki/PHP
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2013, 19:10
Помогаю со студенческими работами здесь

Warning: mysql_fetch_array() expects parameter 1
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in M:\home\localhost\www\poisk_zakaza.php on line 73 ...

Warning: mysql_fetch_array() expects parameter
Я новичок пишу сайт и столкнулся с такой ошибкой Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in z
Проблемы с выводом инфы из базы. Пишет ошибку warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in z. В...

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean
$result = mysql_query(&quot;SELECT ip, id_post FROM rating_post_ip WHERE id_post = '&quot;.$id.&quot;' AND ip = '&quot;.$ip.&quot;'&quot;); $count =...

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
На странице выводит ошибку Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in вот код html &lt;? $id =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru