Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
12 / 12 / 0
Регистрация: 25.06.2011
Сообщений: 165
1

Ошибка в php

26.06.2011, 16:50. Показов 678. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу следующее:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
$connect=mysqli_connect("localhost", "root", "");
 
$db=mysqli_select_db($connect,"newbase");
 
$p=mysql_query("select age from people");
 
$znachenia=mysql_fetch_assoc($p);
 
echo $znachenia;
 
mysqli_close($connect);
 
?>
а в браузере появляется:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Q:\home\q.ru\www\vhod.php on line 9
В чем проблема?
Возможно проблема с моей СУБД: Не создается новый каталог в папке data
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2011, 16:50
Ответы с готовыми решениями:

Ошибка PHP Startup: Unable to load dynamic library в RAPID PHP
Здравствуйте! у меня при работе с пхп редактором возникает ошибка. Не находит библиотеки. Причем...

При переходе Joomla c PHP 5 на PHP 7 возникает ошибка call to undefined function mysql_connect()
Добрый день ребята, помогите пожалуйста. Для перехода с PHP5 на PHP 7 зашел в панель Joomla и...

Установка PHP, ошибка No such file or directory: couldn't spawn child process: c:/php3/7.php
у меня стоит апач. поставил php3. Но почему-то при обращении к PHP скриптам в файле лога ошибка...

что значит ошибка Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\php\kursovoi\save_user.php o
есть скрипт &lt;?php if (isset($_POST)) { $name = $_POST; if ($name == '') { unset($name);} }...

8
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
26.06.2011, 17:45 2
Вы подключаетесеь через mysqli_ , а данные пытаетесь извлечь через mysql_ . Это совершенно разные вещи, как сапоги и сандали. Это раз.

Два: нет ни одной проверки ошибок. Вы даже не знаете, удалось ли подключиться.
PHP
1
2
3
4
5
6
7
8
9
10
mysql_connect(...) or die(mysql_error());
mysql_select_db(...) or die(mysql_error());
 
$result = mysql_query("SELECT ...") or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
 
}
mysql_free_result($result);
 
mysql_close();
1
12 / 12 / 0
Регистрация: 25.06.2011
Сообщений: 165
26.06.2011, 19:44  [ТС] 3
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Вы подключаетесеь через mysqli_ , а данные пытаетесь извлечь через mysql_ . Это совершенно разные вещи, как сапоги и сандали. Это раз.

Два: нет ни одной проверки ошибок. Вы даже не знаете, удалось ли подключиться.
PHP
1
2
3
4
5
6
7
8
9
10
mysql_connect(...) or die(mysql_error());
mysql_select_db(...) or die(mysql_error());
 
$result = mysql_query("SELECT ...") or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
 
}
mysql_free_result($result);
 
mysql_close();
Спасибо, все вышло, но из-за моей субд (которая неизвестно где сохраняет бд) результат выводится такой: ArrayArrayArrayArrayArray.
0
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
26.06.2011, 20:37 4
while ($row = mysql_fetch_assoc($result)) {
$row это масив. Пиши print_r вместо echo чтобы увидеть каккие значения имеет масив!

Добавлено через 1 минуту
Пример: print_r($row); для всего масива или echo $row['age']; для поля age.
1
12 / 12 / 0
Регистрация: 25.06.2011
Сообщений: 165
26.06.2011, 20:43  [ТС] 5
Цитата Сообщение от SpartakusMd Посмотреть сообщение
$row это масив. Пиши print_r вместо echo чтобы увидеть каккие значения имеет масив!

Добавлено через 1 минуту
Пример: print_r($row); для всего масива или echo $row['age']; для поля age.
Точно, это же ассоциативные массивы. А я использовал числовые индексы
0
12 / 12 / 0
Регистрация: 25.06.2011
Сообщений: 165
06.07.2011, 17:10  [ТС] 6
Еще один вопрос:
мне нужно записать \ в mysql (как разделительный знак при записи пути), но php ругаеться на него.
Что делать?
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.07.2011, 17:21 7

Не по теме:

Вы точно уверены, что \ , а не / ?


Чтобы в MySQL передать строку с бэкслешем, его надо экранировать:
SQL
1
SELECT 'foo\\bar\\lol';
Далее все это попадает в код PHP в виде строкового литерала, поэтому снова экранируется:
PHP
1
$R = mysql_query("SELECT 'foo\\\\bar\\\\lol';") or die(mysql_error());
Либо можно (а часто нужно) так:
PHP
1
$R = mysql_query("SELECT '" . mysql_real_escape_string("foo\\bar\\lol") . "';") or die(mysql_error());
1
12 / 12 / 0
Регистрация: 25.06.2011
Сообщений: 165
06.07.2011, 17:36  [ТС] 8
Добавлено через 2 минуты
Цитата Сообщение от Vovan-VE Посмотреть сообщение

Не по теме:

Вы точно уверены, что \ , а не / ?


Чтобы в MySQL передать строку с бэкслешем, его надо экранировать:
SQL
1
SELECT 'foo\\bar\\lol';
Далее все это попадает в код PHP в виде строкового литерала, поэтому снова экранируется:
PHP
1
$R = mysql_query("SELECT 'foo\\\\bar\\\\lol';") or die(mysql_error());
Либо можно (а часто нужно) так:
PHP
1
$R = mysql_query("SELECT '" . mysql_real_escape_string("foo\\bar\\lol") . "';") or die(mysql_error());
Я немножко ошибся, мне нужно вставить бэкслеш в переменную:
PHP
1
$rez = $_SESSION['user']."         БЭКСЛЕШ         ".$_FILES['userfile']['name'];
а потом засунуть в запрос
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.07.2011, 17:38 9
PHP
1
 . "\\" .
1
06.07.2011, 17:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2011, 17:38
Помогаю со студенческими работами здесь

Подскажите ,где ошибка в php? В какой-то строке ошибка
Здравствуйте. На вордпресс нашёл плагин на форуме.Тема закрыта,спросить не у кого. Пишут...

Ошибка разбора: синтаксическая ошибка, неожиданный 'а' (T_WHILE) в C:\OSPanel\domains\Test.ru\index.php на линии 15
&lt;?php $connection = mysqli_connect('127.0.0.1','mysql','mysql','test_db'); if ( $connection...

Ошибка в PHP
Не пойму в чем ошибка Global $login; $Mess = c(&quot;Mess&quot;)-&gt;text;...

Ошибка в php
С данной проблемой столкнулся, когда решил поставить регистрацию и авторизацию на новый сайт, дело...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru