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

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

11.10.2012, 15:48. Показов 2188. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru