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

Mysql_fetch_array() expects parameter 1 to be resource

11.07.2016, 15:46. Показов 478. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите что тут надо исправить что бы не было ошибки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    $db=mysql_connect("localhost", "tutorial","123");
        mysql_select_db("tutorial",$db);
 
    if(isset($_POST['button'])){
        $login=$_POST['login'];
        $password=$_POST['password'];
            }
        $query=mysql_query("SELECT*form users WHERE login='$login' ");
        $myrow=mysql_fetch_array($query);
        if($login==$myrow['login']){
            if($password==$myrow['password']){
                echo"vi zashli v sistemy,".$login;
            }
            else{
                echo "paroli ne sovpadaut";
            }
 
        }
 
 
        ?>
ругается на $myrow=mysql_fetch_array($query)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2016, 15:46
Ответы с готовыми решениями:

mysql_fetch_array() expects parameter 1 to be resource
Здравствуйте. $tape22 = mysql_query(&quot;SELECT * FROM `editiontepes` WHERE `e`='$e' end...

mysql_fetch_array() expects parameter 1 to be resource
if ( !$_SESSION){ echo &quot;gost&quot;; } else $KolvoDeneg = mysql_query (&quot;SELECT...

Mysql_fetch_array() expects parameter 1 to be resource
mysql_fetch_array() expects parameter 1 to be resource на 31 строке &lt;html...

Mysql_fetch_array() expects parameter 1 to be resource
Никак не могу понять что за ошибка. Warning: mysql_fetch_array() expects parameter 1 to be...

12
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
11.07.2016, 16:42 2
Цитата Сообщение от aqua Посмотреть сообщение
подскажите что тут надо исправить что бы не было ошибки
Написать запрос к базе корректный
0
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,262
Записей в блоге: 7
11.07.2016, 16:49 3
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
76
77
78
79
80
<?php
 
const DEBUG = true;
 
error_reporting(DEBUG ? E_ALL : 0);
ini_set('display_errors', DEBUG ? 'on' : 'off');
 
set_error_handler(function($err_no, $err_str, $err_file, $err_line ) {
    if (!(error_reporting() & $err_no)) {
        return;
    }
    throw new ErrorException($err_str, 0, $err_no, $err_file, $err_line);
});
 
 
if (array_key_exists('login', $_POST) &&
    !(empty($_POST['login']) || empty($_POST['password']))) {
    
    $login    = $_POST['login'];
    $password = $_POST['password'];
    
    $db_config = [
        'server'   => "localhost",
        'login'    => "tutorial",
        'password' => "123",
        'dbname'   => "tutorial"
    ];
 
    $message = 'логин не найден либо пароль не подходит';
    $sql = 'SELECT * form users WHERE login = :login';
 
    $params = [
        ':login' => $login,
    ];
    $data = false;
    try {
        $db     = DB::connection( $db_config );
        $select = $db->prepare( $sql );
        $select->execute( $params );
        $data = $select->fetch();
        if (false !== $data) {
            $message = ($data['password'] !== $password ? $message: 'Порядок. вы вошли');
        }
    }
    catch ( \PDOException $error ) {
        $message = ( DEBUG ? $error->getMessage() : 'Ой. Проблема с базой' );
    }
    echo $message;
}
 
/**
 * Class DB
 */
class DB {
    /** @var \PDO $link */
    private static $link = null;
 
    /**
     * @param array|null $config database config(server, dbname, login, password)
     *
     * @return \PDO link to database
     * @throws \PDOException if connect fail
     */
    public static function connection( $config = null ) {
        if ( is_null( self::$link ) ) {
            if ( is_array( $config ) ) {
                $pdo_options = [
                    \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
                    \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION
                ];
                $dsn         = sprintf( 'mysql:host=%s;dbname=%s;charset=utf8',
                                        $config['server'],
                                        $config['dbname'] );
                self::$link  = new \PDO( $dsn, $config['login'], $config['password'], $pdo_options );
            }
        }
 
        return self::$link;
    }
}
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
11.07.2016, 17:52 4
Cra3y, в Singleton'ах обычно принято объявлять методы __construct и __clone приватными. Иначе класс не получится одиночкой.
1
Max Dark
11.07.2016, 18:05
  #5

Не по теме:

Para bellum, DB по сути не класс, а статическая функция-обертка PDO::__construct.

0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
11.07.2016, 19:03 6
Cra3y, А главное?
Цитата Сообщение от crautcher Посмотреть сообщение
Написать запрос к базе корректный
1
Software Developer
287 / 247 / 52
Регистрация: 23.09.2014
Сообщений: 823
11.07.2016, 19:10 7
Никого не смутило, что в запросе form , а не from ?)

Добавлено через 6 минут
aqua, https://github.com/mvcbox/sql-... /README.md

PHP
1
2
3
4
5
6
7
8
9
require_once __DIR__ . '/function.qb.php';
 
if (isset($_POST['login'], $_POST['password'])) {
    if (qb()->table('users')->where(array('login' => $_POST['login'], 'password' => $_POST['password']))->exists()) {
        echo 'Вы вошли в систему под логином: ' . $_POST['login'];
    } else {
        echo 'Неправильный логин или пароль';
    }
}
1
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,262
Записей в блоге: 7
11.07.2016, 19:14 8

Не по теме:

Цитата Сообщение от crautcher Посмотреть сообщение
А главное?
XD а слона то я и не заметил)


PHP
1
$sql = 'SELECT * from users WHERE login = :login';
сам часто очепатываюсь from => form
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 4
12.07.2016, 13:47  [ТС] 9
ребят, смотрите, я уже переписал полностю весь код, но я не могу понять что не так с моей бд, делаю:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$host="localhost";
//$user="web";
$password="123";
$db_name="tutorial";
 
 
$connect=mysql_connect($host,$password);
mysql_select_db($db_name,$connect);
 
if($connect==true){
    echo "super";}
    else{
        echo "ohh no";
    }
 
?>
выдает echo "super";}

но если пытаюсь внести данные то:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in Z:\home\localhost\www\id\register.php on line 26

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\id\register.php:1) in Z:\home\localhost\www\id\register.php on line 41
Структура таблицы `users` в базе данных должна быть: но вроде как сделал
SQL
1
2
3
4
5
6
7
8
CREATE TABLE `users` (
    `user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    `user_login` VARCHAR(30) NOT NULL,
    `user_password` VARCHAR(32) NOT NULL,
    `user_hash` VARCHAR(32) NOT NULL,
    `user_ip` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Вложения
Тип файла: rar id.rar (3.8 Кб, 2 просмотров)
0
Software Developer
287 / 247 / 52
Регистрация: 23.09.2014
Сообщений: 823
12.07.2016, 14:28 10
aqua, выше я Вам уже оставлял ответ. Если возникают трудности при работе с базой - воспользуйтесь готовой оберткой. Там уже все сделано вместо Вас, осталось воспользоваться документацией и построить запрос.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.07.2016, 15:10 11
Цитата Сообщение от aqua Посмотреть сообщение
выдает echo "super";}
но если пытаюсь внести данные то:
подключение mysql_
добавление mysqli_

Добавлено через 4 минуты
aqua, в ваших файлах подключение к БД не верное
PHP
1
$link=mysqli_connect("localhost", "tutorial", "123", "тут надо название БД");
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 4
13.07.2016, 15:19  [ТС] 12
все разобрался, там не только это надо было менять) как поставить кодировку в sublime text что бы не было краказябликов, я ставлю utf-8, вставляю <meta http-equiv="content-type" content="text/html; charset=windows-1251" />, а оно РќРµ прикреплять Рє IP(РЅРµ безопасно)
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
15.07.2016, 06:51 13
Цитата Сообщение от aqua Посмотреть сообщение
я ставлю utf-8
Цитата Сообщение от aqua Посмотреть сообщение
вставляю <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
Одну надо использовать.
0
15.07.2016, 06:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2016, 06:51
Помогаю со студенческими работами здесь

Ошибка mysql_fetch_array() expects parameter 1 to be resource
Хочу добавить постраничную навигацию на сайт. При написании данного кода выдает ошибку Warning:...

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...

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 =...

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given
Здравствуйте! Что это за ошибка : Warning: mysql_fetch_array() expects parameter 1 to be resource,...


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

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