Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88

Не выполняются запросы в БД

11.10.2012, 15:48. Показов 2158. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я новичок в php. До этого писал только на html и javascript и мне этого хватало. Писал всякие drag n drop-ы и сайты -визитки. Встала задача написания сайта с БД. Начал читать на эту тему, скачал denwer, поставил, создал БД food с 2-мя таблицами dish и ingridients. Пытаюсь вывести данные из БД на экран и не выходит, помогите, может я что-то не так делаю...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        <?php
        $link = mysql_connect('localhost', 'food', '');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        echo 'Connected successfully     ';
        
        
        mysql_select_db('food');
        
        
        $tmp = mysql_query("SELECT * FROM 'dish' ");
        
        
         echo $tmp;                                         
        mysql_close($link);
    ?>
Выводит только Connected successfully и все...

Добавлено через 13 минут
у пользователя food есть все права ( назначил через phpmyadmin) пробовал еще и так
PHP
1
$link = mysql_connect('localhost', 'root', ''); /* и так далее */
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2012, 15:48
Ответы с готовыми решениями:

Запросы не выполняются
&lt;?php class Mysql{ private $num = 0; function __construct($conn,$req,$type,$nums){ if(isset($conn) &amp;&amp; isset($req) &amp;&amp;...

Не правильно выполняются запросы в phpMyAdmin и в коде
Если запросы, представленные ниже, выполнить по очереди в phpmyadmin то считает и обновляет все правильно. Но когда вставляю в скрипт, поле...

В PHP-коде не выполняются mysql-запросы DELETE и UPDATE
Доброго времени суток, собирая своего &quot;франкенштейна&quot; по кусочкам, наткнулся на такую проблему: Есть два php-файла: ...

13
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2012, 15:52
Работа с БД MySQL
вместо
Цитата Сообщение от OdessaTV Посмотреть сообщение
PHP
1
echo $tmp;
PHP
1
2
3
4
while ($row = mysql_fetch_assoc($tmp))
{
    var_dump($row);
}
1
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
11.10.2012, 16:17  [ТС]
попробовал как вы сказали, вывело
Connected successfully
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\food\www\try.php on line 15
код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    <?php
        $link = mysql_connect('localhost', 'root', '');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        echo 'Connected successfully     ';
        
        
        mysql_select_db('food');
        
        
        $tmp = mysql_query("SELECT * FROM 'dish' ");
        
        
         while ($row = mysql_fetch_assoc($tmp))
        {
            var_dump($row);
        }                                           
        mysql_close($link);
    ?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.10.2012, 16:25
Цитата Сообщение от OdessaTV Посмотреть сообщение
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\food\www\try.php on line 15
код:
повнимательнее почитайте тему, ссылку на которую вам дали. Там все это написано, и даже объясняется почему
Цитата Сообщение от KOPOJI Посмотреть сообщение
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
FALSE/TRUE - это булев тип, логический, т.е. boolean. И означает эта ошибка как раз что одна из используемых функций выше вернула false вместо результата. как раз вывод ошибки с прекращением дальнейшего выполнения скрипта (я писал об этом выше) и выдаст ошибку, в которой выведет что не так:
Добавлено через 2 минуты
Конкретно в вашем случае, ошибка здесь:
Цитата Сообщение от OdessaTV Посмотреть сообщение
PHP
1
$tmp = mysql_query("SELECT * FROM 'dish' ");
Название мускульных полей и таблиц в обратных (косых) апострофах, а не в обычных

опять же, в теме это тоже есть
1
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
11.10.2012, 16:25  [ТС]
Все, получилось так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <?php
        $link = mysql_connect('localhost', 'root', '');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        echo 'Connected successfully     ';
        
        
        mysql_select_db('food');
        
        
    $res = mysql_query("SELECT * FROM `dish`");
        while($row = mysql_fetch_assoc($res)) {
        print_r($row);
    }                                           
        mysql_close($link);
    ?>
Теперь надо только с кодировкой разобраться, ато вывелись только ??????? и т.д. =)
спасибо огромное.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2012, 16:26
Цитата Сообщение от OdessaTV Посмотреть сообщение
'dish'
` - это знак для заключения в него названия БД, таблицы, полей
' - это для заключения строк

вы заключили имя таблицы в апострофы, это не правлиьно
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.10.2012, 16:28
по поводу кодировки БД здесь по подробнее раскрывается, чем у меня в теме..
Базы Данных. Кодировка ввода/вывода.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2012, 16:28
Цитата Сообщение от KOPOJI Посмотреть сообщение
Название мускульных полей и таблиц в обратных (косых) апострофах, а не в обычных
упс... не дочитал ваш пост
0
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
11.10.2012, 16:31  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
по поводу кодировки БД здесь по подробнее раскрывается, чем у меня в теме..
Базы Данных. Кодировка ввода/вывода.
Спасибо огромное, почитаю. Будем пробовать штурмовать php и mySql.
0
3 / 3 / 0
Регистрация: 29.01.2012
Сообщений: 266
11.10.2012, 18:56
OdessaTV, не понял как у тебя заработало? print_r($row); - что тут выведется, ты же * выводил, следовательно это массив у тебя, плюс print_r- это команда вывода информации о переменной?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.10.2012, 18:58
hoperkrot, Print_R - это функция для вывода массивов прежде всего.
0
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
12.10.2012, 12:29  [ТС]
Цитата Сообщение от hoperkrot Посмотреть сообщение
OdessaTV, не понял как у тебя заработало? print_r($row); - что тут выведется, ты же * выводил, следовательно это массив у тебя, плюс print_r- это команда вывода информации о переменной?
я сейчас уже дома, завтра приду на работу и выложу результат разных запусков кода.

Добавлено через 16 часов 2 минуты
Добрый день, простите, что так поздно отвечаю, так вот результаты :
Код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    <?php
        $link = mysql_connect('localhost', 'root', '');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        echo "Connected successfully                 ";  
        
        
 
        mysql_set_charset('utf8');
 
        
        mysql_select_db('food');
        
        
 
 
        $tmp = mysql_query("SELECT * FROM `dish`");
        //$row = mysql_fetch_assoc($tmp);
        while($row = mysql_fetch_assoc($tmp) ){
        print_r($row);}
        mysql_close($link);
    ?>
Ответ:
Connected successfully
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Array ( 
  [name] => Картошка в мундире 
  [ingridients] => картошка 
  [recipe] => 
    1) Картошку помыть и сложить в кастрюлю. Она должна быть примерно одинаково размера, тогда вся картошка будет готова в одно и то же время. 
    2) Залить холодной водой так, чтобы она полностью покрыла картошку. 
    3) Картошку посолить. Это нужно не только для того, чтобы она не получилась пресной. Это предотвратит картошку от растрескивания в процессе варки и она получится целенькой и красивой. 
    4) На большом огне довести картошку до кипения, уменьшить огонь и накрыть крышкой. Варить на маленьком огне примерно 30 минут. 
        Время варки зависит от размера картошки, чем она больше, тем вариться она будет дольше. Поэтому перед тем, как ее выключить, лучше проверить на готовность с помощью ножа или вилки. Если картошка легко протыкается, значит она готова. 
    5) Когда картошка сварится, слить воду. Если она будет использоваться для салатов, лучше сразу после этого залить ее холодной водой. Так она будет легче чиститься. А если как самостоятельное блюдо, нужно просто дать ей немного остыть. 
) 
Array ( 
  [name] => Квашеная капуста 
  [ingridients] => капуста 
  [recipe] => Взять капусту и заквасить. 
)
Т.е. все ок=)
Теперь следующая проблема, делаю запрос
PHP
1
2
3
4
$tmp = mysql_query("SELECT * FROM `dish` WHERE `ingridients`='картошка'");
        //$row = mysql_fetch_assoc($tmp);
        while($row = mysql_fetch_assoc($tmp) ){
        print_r($row);}
и ничего не выдает!! Из прошлого ответа видно, что такое поле есть, но вот почему его не находит, просто не знаю=(
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.10.2012, 12:40
Значит у вас оно как то по другому называется, может пробелы лишние или еще что то..
0
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
12.10.2012, 13:21  [ТС]
Видимо что-то не то с типами данных или кодировкой в самой таблице dish, т.к. сейчас я ее пересоздал, ввел интовский столбец number, если сравнивать именно с ним
PHP
1
mysql_query("SELECT * FROM `dish` WHERE `number`=0 ");
выдает все на ура, а вот сравнение по другим полям, там, где есть русский текст не пашет почему-то.
При создании таблицы указал тип сравнения utf-8, php-документ тоже в этой кодировке, даже у браузера она же, где ошибка понять не могу...

Добавлено через 12 минут
Все, разобрался, просто поменял кодировку в php документе на utf-8 и начало работать. Спасибо большое за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2012, 13:21
Помогаю со студенческими работами здесь

Не выполняются запросы к БД
У меня такая ситуация в делфи при работе с бд я подключаю таблицу через adotable но при это и хочу выполнять запросы устанавливаю adoquery...

SQL запросы не выполняются
Всем привет, пишу вот такой запрос в форме на копирование записи из таблицы в саму же себя strSQL = &quot;INSERT INTO ИМЯ_ТАБЛИЦЫ...

Медленно выполняются запросы
Может кто пояснить нубу что можно сделать, если запросы в oracle стали выполняться медленно, очень медленно я слышал про переиндексацию,...

На денвере не выполняются долгие ajax запросы
У меня с помощью аякса отправляется запрос на сервер идолжен обрабатываться примерно секунд 15, а потом должны возвратиться данные....

Соединение с БД создается нормально, но запросы не выполняются
Соединение с БД создается нормально, но запросы не выполняются. Создавал базу и таблицы в SQLite Maestro, таблица product существует. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru