Здравствуйте, К базе данных mysql подключаюсь таким способом $myConnect = mysql_connect($dbHost,$dbUser,$dbPass)); mysql_select_db($dbName,$myConnect); Не подскажите безопасен ли этот метод подключения? Базу данных можно защищать от инйекции? Спасибо
Здравствуйте, пытаюсь подключиться к базе данных, но браузер выдаёт (при этом запрашиваемая база данных присутствует на локальном сервере) 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); ?> Не могу понять, почему нет соединения с базой данных?
Покажите мне сначала дамп базы данных и измененный код, тогда дальше будем гадать. Оформляем код на форуме, тыкая на панели инструменте "+"
В каком виде? Подозреваю, что вы попутали дамп с рабочим хранилищем. --- Добавлено --- Дамп нужно импортировать, прежде чем работать с БД.
Наверное так. Я уже два дня пытаюсь соединить php и mysql и ничего не выходит (они установлены по отдельности). Может, лучше всё удалить и поставить сборку? Возможно, в этом случае всё будет работать?
@MouseZver, не, я на себя такую ответственность не возьму, занимайтесь дальше вместе --- Добавлено --- @shpashka1986, этот файл и есть дамп. Учите основы.
Чет совсем тоскливо. Мне падаваны такие вопросы еще не задавали. Совсем не ваш профиль что ли или просто классический незнайка?
Не мой профиль. Если вкратце, то в конце 2016 года на сайте гикбрейнс решил задачу с двумя ифами. Получилось. Понравилось. Решил попробовать ещё что-то поделать. Нашёл данный форум, зарегался, почитал, приуныл, потом ещё сильнее приуныл. Потом поставил Pascal и начал его учить и решать на нём задачки. Спустя год поставил PHP (то есть где-то в 20-х числа июля 2018), потом MySQL и попытался их связать, но не получилось. Спустя два дня попыток написал сюда.
Я назвал действие, кот. вам нужно выполнить. То что ставили по частям, по-моему это гуд. Также и продолжайте складывать картину по кирпичикам. Создайте одноименных пользователя и БД. Попробуйте импортировать в нее одну таблицу. Было бы неплохо увидеть дамп, о чем MouseZver писал. phpMyAdmin ставили? Если нет, то поставьте и попробуйте проделать все выше описанное из нее (а не из командной строки, например). Ставить лучше как отдельный сайт, но можно и в отдельную папку существующего сайта.
Вот это дамп? Код (Text): CREATE DATABASE IF NOT EXISTS `new_schema` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */; USE `new_schema`; -- MySQL dump 10.13 Distrib 8.0.12, for Win64 (x86_64) -- -- Host: localhost Database: new_schema -- ------------------------------------------------------ -- Server version 8.0.12 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; SET NAMES utf8 ; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `aliens_abduction` -- DROP TABLE IF EXISTS `aliens_abduction`; /*!40101 SET @saved_cs_client = @@character_set_client */; SET character_set_client = utf8mb4 ; CREATE TABLE `aliens_abduction` ( `first_name` varchar(30) DEFAULT NULL, `last_name` varchar(30) DEFAULT NULL, `when_it_happened` varchar(30) DEFAULT NULL, `how_long` varchar(30) DEFAULT NULL, `how_many` varchar(30) DEFAULT NULL, `alien_description` varchar(100) DEFAULT NULL, `what_they_did` varchar(100) DEFAULT NULL, `fang_spotted` varchar(10) DEFAULT NULL, `other` varchar(100) DEFAULT NULL, `email` varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2018-08-02 22:04:56
По какой-то причине предыдущая база данных открывалась как таблица, поэтому пришлось её в виде таблицы воткнуть в новую базу данных. Я создал новую базу данных и сделал дамп.
Попробуй через командную строку подключиться. mysql -u root -p Вводишь пароль. Если пустит, то всё должно работать.
Работает. Напишите, что я должен сделать? Эта база new_schema у меня до сих пор открыта в Workbench , и я не знаю, как её сохранить хоть куда-нибудь? Там нет никаких кнопок сохранения. --- Добавлено --- Я завтра попробую сделать новую базу с нуля. Может быть, в этом случае станет понятнее, в чём дело? Всем спасибо за ответы и приношу извинения за доставленное беспокойство!