За последние 24 часа нас посетили 47495 программистов и 1806 роботов. Сейчас ищут 1119 программистов ...

Подключение к базе данных mysql

Тема в разделе "PHP для новичков", создана пользователем kikosik, 15 май 2018.

  1. kikosik

    kikosik Активный пользователь

    С нами с:
    13 апр 2017
    Сообщения:
    60
    Симпатии:
    0
    Здравствуйте,
    К базе данных mysql подключаюсь таким способом

    $myConnect = mysql_connect($dbHost,$dbUser,$dbPass));
    mysql_select_db($dbName,$myConnect);

    Не подскажите безопасен ли этот метод подключения? Базу данных можно защищать от инйекции?

    Спасибо
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    не используй старика mysql
     
  3. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Здравствуйте, пытаюсь подключиться к базе данных, но браузер выдаёт (при этом запрашиваемая база данных присутствует на локальном сервере)
    Warning: mysqli_connect(): (HY000/1049): Unknown database 'way' in D:\localhost\example.php on line 8
    Warning
    : mysqli_error() expects parameter 1 to be mysqli, boolean given in D:\localhost\example.php on line 9
    Ошибка

    Код следующий:
    <?php
    $host = 'localhost'; // адрес сервера
    $database = 'way.sql'; // имя базы данных
    $user = 'root'; // имя пользователя
    $password = 'root'; // пароль

    // подключаемся к серверу
    $link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));

    // выполняем операции с базой данных
    $query ="SELECT * FROM phones";
    $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    if($result)
    {
    echo "Выполнение запроса прошло успешно";
    }

    // закрываем подключение
    mysqli_close($link);
    ?>

    Не могу понять, почему нет соединения с базой данных?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    $database = 'way.sql'; // имя базы данных
    А без символов задать ?
     
    shpashka1986 нравится это.
  5. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    без символов тоже никак. Может, лучше всё снести и попробовать сборку поставить? Как вы считаете?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Покажите мне сначала дамп базы данных и измененный код, тогда дальше будем гадать.

    Оформляем код на форуме, тыкая на панели инструменте "+"
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Может, запрашиваемая база данных присутствует в файле, а не там, где ей положено ;)
     
    shpashka1986 нравится это.
  8. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Она лежит на локальном сервере. А должна где-то в другом месте быть?
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    В каком виде? Подозреваю, что вы попутали дамп с рабочим хранилищем.
    --- Добавлено ---
    Дамп нужно импортировать, прежде чем работать с БД.
     
  10. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Наверное так. Я уже два дня пытаюсь соединить php и mysql и ничего не выходит (они установлены по отдельности). Может, лучше всё удалить и поставить сборку? Возможно, в этом случае всё будет работать?
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    @miketomlin вот и занимайся с ним, так как мой пост тупо в никуда ушел.
     
  12. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Я не знаю, что такое дамп и как его сделать? У меня есть файл с расширением .sql и всё.
     
  13. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    @MouseZver, не, я на себя такую ответственность не возьму, занимайтесь дальше вместе :)
    --- Добавлено ---
    @shpashka1986, этот файл и есть дамп. Учите основы.
     
  14. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Вот я и пытаюсь. Только чёт не выходит.
     
  15. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Чет совсем тоскливо. Мне падаваны такие вопросы еще не задавали. Совсем не ваш профиль что ли или просто классический незнайка?
     
  16. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Не мой профиль. Если вкратце, то в конце 2016 года на сайте гикбрейнс решил задачу с двумя ифами. Получилось. Понравилось. Решил попробовать ещё что-то поделать. Нашёл данный форум, зарегался, почитал, приуныл, потом ещё сильнее приуныл. Потом поставил Pascal и начал его учить и решать на нём задачки. Спустя год поставил PHP (то есть где-то в 20-х числа июля 2018), потом MySQL и попытался их связать, но не получилось. Спустя два дня попыток написал сюда.
     
  17. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Я назвал действие, кот. вам нужно выполнить. То что ставили по частям, по-моему это гуд. Также и продолжайте складывать картину по кирпичикам. Создайте одноименных пользователя и БД. Попробуйте импортировать в нее одну таблицу. Было бы неплохо увидеть дамп, о чем MouseZver писал. phpMyAdmin ставили? Если нет, то поставьте и попробуйте проделать все выше описанное из нее (а не из командной строки, например). Ставить лучше как отдельный сайт, но можно и в отдельную папку существующего сайта.
     
    shpashka1986 нравится это.
  18. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    У меня тут Workbench стоит.
     
  19. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
  20. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Вот это дамп?
    Код (Text):
    1. CREATE DATABASE  IF NOT EXISTS `new_schema` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */;
    2. USE `new_schema`;
    3. -- MySQL dump 10.13  Distrib 8.0.12, for Win64 (x86_64)
    4. --
    5. -- Host: localhost    Database: new_schema
    6. -- ------------------------------------------------------
    7. -- Server version    8.0.12
    8.  
    9. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    10. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    11. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    12. SET NAMES utf8 ;
    13. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    14. /*!40103 SET TIME_ZONE='+00:00' */;
    15. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    16. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    17. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    18. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    19.  
    20. --
    21. -- Table structure for table `aliens_abduction`
    22. --
    23.  
    24. DROP TABLE IF EXISTS `aliens_abduction`;
    25. /*!40101 SET @saved_cs_client     = @@character_set_client */;
    26. SET character_set_client = utf8mb4 ;
    27. CREATE TABLE `aliens_abduction` (
    28.   `first_name` varchar(30) DEFAULT NULL,
    29.   `last_name` varchar(30) DEFAULT NULL,
    30.   `when_it_happened` varchar(30) DEFAULT NULL,
    31.   `how_long` varchar(30) DEFAULT NULL,
    32.   `how_many` varchar(30) DEFAULT NULL,
    33.   `alien_description` varchar(100) DEFAULT NULL,
    34.   `what_they_did` varchar(100) DEFAULT NULL,
    35.   `fang_spotted` varchar(10) DEFAULT NULL,
    36.   `other` varchar(100) DEFAULT NULL,
    37.   `email` varchar(50) DEFAULT NULL
    38. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    39. /*!40101 SET character_set_client = @saved_cs_client */;
    40. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
    41.  
    42. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    43. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    44. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    45. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    46. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    47. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    48. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    49.  
    50. -- Dump completed on 2018-08-02 22:04:56
     
  21. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    кхм
    -- Host: localhost Database: new_schema
     
  22. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    По какой-то причине предыдущая база данных открывалась как таблица, поэтому пришлось её в виде таблицы воткнуть в новую базу данных. Я создал новую базу данных и сделал дамп.
     
  23. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Попробуй через командную строку подключиться.
    mysql -u root -p
    Вводишь пароль. Если пустит, то всё должно работать.
     
  24. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Круто..
    https://php.ru/forum/threads/podkljuchenie-k-baze-dannyx-mysql.70732/#post-577522
     
  25. shpashka1986

    shpashka1986 Новичок

    С нами с:
    6 фев 2017
    Сообщения:
    47
    Симпатии:
    1
    Работает.
    Напишите, что я должен сделать? Эта база new_schema у меня до сих пор открыта в Workbench , и я не знаю, как её сохранить хоть куда-нибудь? Там нет никаких кнопок сохранения.
    --- Добавлено ---
    Я завтра попробую сделать новую базу с нуля. Может быть, в этом случае станет понятнее, в чём дело? Всем спасибо за ответы и приношу извинения за доставленное беспокойство!