Имя и пароль учетной записи MYSQL

Статус
Закрыто для дальнейших ответов.

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
привет всем первый раз на этом форуме

вот в чём проблема начинающий веб программист начал учить php5
скачал DENWER

разобрался со сервом! скрипты всё пишу, теперь начал работать с MYSQL на сайте denwer.ru прочитал описание что MYSQL сервер идёт вместе с DENWER

это я понял начал учить язык запросов SQL

___________________

возникла проблема вот в чём, нашёл путь к серверу через браузер http://localhost/Tools/phpMyAdmin/

теперь мне нужно сменить пароль и имя учётной записи я не могу понять?

1-вопрос) Пароль меняется для каждой БАЗЫ данных отдельно, или общее пароль ставится на сервер MYSQL????????

2-вопрос) как менять этот пароль и логин???? пожалуйста пишите подробнее(по шагам) и конкренее!!! спасибо ;)
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
По умолчанию в денвере стоит пользователь "root" и пустой пароль.
Зайди на страницу PhpMyAdmin и найди вкладку привилегии, там можешь добавить нового пользователя.

А вообще тебе то ненадо, создавай базу через PhpMyAdmin например MyTest
А потом:
Код:
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
    die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('MyTest', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
// А тут можно уже использовать mysql_query(...)
Забыл добавить.
Пользователь общий на весь сервер mysql. ты можешь добавить нового пользователя, и разрешить ему только таблицу Kolia_db и тогда твой пользователь Kolia будет видеть только свою базу а остальные не увидит
 

toxin

Well-Known Member
Регистрация
20.10.2009
Сообщения
478
Зачем менять ? В mysql есть пользователь по умолчанию, root ему доступно все, и он не имеет пароля, вы просто пишете скрипт с БД и учитываете что в интернете на какой то сервере вы будите использовать пароль пользователя mysql,поэтому делаете все необходимые действия по заците пароля, и егопроверке на пригодность, конда указываете в функции подключение к серверу пишете просто
Код:
host: localhost
user: root
pass: 
table: table_name
Я привел пример значений для подключения скрипта к БД, а не код/текст, который куда то нада вписать

С уважением toxin...
 

gor

Well-Known Member
Регистрация
10.04.2009
Сообщения
306
Не надо,по умолчанию при создании новой базы, вы имеете к ней доступ(как root c глобальными правами),без пароля.
Если нужно можете поменять их, открыв вкладку привилегии.
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
Не надо,по умолчанию при создании новой базы, вы имеете к ней доступ(как root c глобальными правами),без пароля.
Если нужно можете поменять их, открыв вкладку привилегии.
спасибо конечно я понял!

а вот когда я захожу в вкладку ПРИВЕЛЕГИИ то там отмеченно несколько пользователей скажите могу ли я удалить их и оставить только одного?
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Приведите список пользователей.
По идее вы можете удалить всех кроме root и pma, при условии, что другие юзеры вами не используются.
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
там уже три баззы данных(всмысле в mysql были изначально) скажите а могу ли я удалить оти баззы или они содержат некие настройки?

какую посоветуете книжку php+MYSQL

знаю по php много но про mysql мало сказано а есть такая книжка где углубленное программирование именно в php + mysql ????


___________________________________________________________________________
а вот допустим я на хостинге сижу как мне там создать баззу данных

хостинг поддерживает php5 и Mysql как мне там создать баззу и нужно ли нового пользователя создавать?? (больше инфы на эту тему)

может кто ссылки на статьи даст почитать на эту тему

Приведите список пользователей.
По идее вы можете удалить всех кроме root и pma, при условии, что другие юзеры вами не используются.

только три root пользователя
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
По умолчанию в денвере стоит пользователь "root" и пустой пароль.
Зайди на страницу PhpMyAdmin и найди вкладку привилегии, там можешь добавить нового пользователя.

А вообще тебе то ненадо, создавай базу через PhpMyAdmin например MyTest
А потом:
Код:
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
    die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('MyTest', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
// А тут можно уже использовать mysql_query(...)
Забыл добавить.
Пользователь общий на весь сервер mysql. ты можешь добавить нового пользователя, и разрешить ему только таблицу Kolia_db и тогда твой пользователь Kolia будет видеть только свою базу а остальные не увидит

уже начал разбираться более менее в базах

понял как занести запись

но как её прочитать
нашёл оператор и написал вот такой код

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
mysql_query($sql,$conn);
mysql_close($conn);
?>
здесь в переменную помещается команда SQL эта команда должа вывести из таблицы 2 поля но как написать что бы данные сохранились в переменную(ые)
помогите пожалуйста.
код прошу не менять только тот участок что бы направить вывод данных в переменную (что бы я потом мог воспользоватся этими данными)
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM table_log";
// немножко поправлю Ваш код, $query хранит результат запроса
$query = mysql_query($sql,$conn);
// получаем из результата запроса массив записей 
$result = mysql_fetch_array ($query);
// присваиваем переменным значения из массива
$login = $result['login'];
$pass = $result['pass'];
mysql_close($conn); // ??? зачем ???
?>
По поводу литературы, посмотрите книги на proklondike.com.
или такое: http://i-vd.org.ru/books/php/
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Если знакомы с английским, я бы посоветовал даже php.net, там не только документация, но и каждой функции еще много примеров использования, и интересных примеров.
Ну а что бы знать в какую сторону смотреть:

Код:
$query = mysql_query($sql); // Выдает результат запроса
$num = mysql_num_rows($query); // Получает количество строк полученных из базы
$r = mysql_fetch_assoc($query); // Получает в виде массива строку из результата
print_r($r); // Распечатываем результат
if ($num != 0){
 while($r = mysql_fetch_array($query)){ // пример как получить много строк из результата запроса
  print_r($r);
 }
}
$sql = 'SELECT id FROM users WHERE id=\''.mysql_escape_string($id).'\''; // экранирует кавычки, что бы не было уязвимостей вроде:
//$sql = "SELECT id FROM users WHERE id='$id'"; А в переменной $test что-то вроде 1' OR 1=1;
//И получишь ты результат в виде SELECT id FROM users WHERE id='1' OR 1=1, то есть все записи
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM table_log";
// немножко поправлю Ваш код, $query хранит результат запроса
$query = mysql_query($sql,$conn);
// получаем из результата запроса массив записей 
$result = mysql_fetch_array ($query);
// присваиваем переменным значения из массива
$login = $result['login'];
$pass = $result['pass'];
mysql_close($conn); // ??? зачем ???
?>
По поводу литературы, посмотрите книги на proklondike.com.
или такое: http://i-vd.org.ru/books/php/
очень помог ваш ответ спасибо!

написал вот это

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
$querty=mysql_query($sql,$conn);
$result=mysql_fetch_array($querty);
$login=$result['login'];
$pass=$result['pass'];
mysql_close($conn);
?>
посмотрите внимательно здесь есть ошибка??
вроде всё правильно....создал баззу logi в ней создал два поля login и pass
в каждое занёс значение с помощью отдельного срипта php

вот этого:

Код:
<?php

$login=$_POST["login"];
$pass=$_POST["pass"];

$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="INSERT INTO table_log ('login','pass')
    VALUES ('$login','$pass')";
$rs=mysql_query($sql,$conn);
mysql_close($conn);
?>
как узнал что значения занеслись?
просто под каждым значением поля размер сосотовляет 1 килобайт другие поля не указан размер отсюда сделал вывод что данные в полях 100% есть!

теперь в код добавляю одну лишь запись echo $login.$pass;

вот так!

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
$querty=mysql_query($sql,$conn);
$result=mysql_fetch_array($querty);
$login=$result['login'];
$pass=$result['pass'];
mysql_close($conn);
echo $login.$pass;
?>
ошибки не вылазиют браузер чистый переменные не выводятся
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
решил немного подкорректировать код:)

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn); // Как я понял тут для определенных операций разные базы подразумеваются?
//такое не гут, обычно в одной базе разные таблицы для этих дел
$sql="SELECT login,pass FROM table_log";
$querty=mysql_query($sql,$conn);
if(mysql_num_rows($query)){ // Незабываем проверять результаты
 $result=mysql_fetch_array($querty);
 $login=$result['login'];
 $pass=$result['pass'];
} else {
 $login='guest';
 $pass='n/a';
}
mysql_close($conn);
echo $login.$pass;
?>
А вообще запрос 'SELECT login,pass FROM table_log' получит список всех записей так что нужно перебрать их в цикле, а не брать только первую.

как узнал что значения занеслись?
не забывай про ошибки при выполении запроса:

Код:
if (mysql_errno()){
 echo mysql_error();
}
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Как-то попадалась на глаза табличка - как пишут код начинающие, и как профи. Там один из пунктов (в колонке профи):
PHP:
mysql_connect('localhost','root') or die ("Невозможно подключиться к серверу")
Вот это "or die", если его прописывать при каждой mysql функции, покажет место ошибки!
Теперь - mysql_fetch_array () - функция при КАЖДОМ ВЫЗОВЕ выбирает ОЧЕРЕДНУЮ СТРОКУ из таблицы.
Если Вам нужна одна строка, в запросе укажите: WHERE условие, или LIMIT 1. Если выводите все или несколько строк, используйте цикл while:
PHP:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
$query=mysql_query($sql,$conn);
// цикличкский опрос строк
while ($result=mysql_fetch_array($query))
{
    echo "login: ".$result['login'];
    echo "password: ".$result['pass']."<br />";
mysql_close($conn);
?>
Поищите на http://www.php.su/books/ справочник по MYSQL в формате .chm (справочный файл Windows)
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Вот это "or die", если его прописывать при каждой mysql функции, покажет место ошибки!
Я бы не сказал что это есть гут.
оператор после or срабатывае в том случае, если оператор до него вернет результат false или null. В случае коннекта к базе die(); подойдет. Но не всякий запрос вызывающий отрицательное значение есть ошибка. Иногда это тоже результат.
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
К базе именно тот случай, когда стоит приостановить работу. Так как содержимое, из которого мы затем должны сформировать страницу, недоступно нам.
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
Как-то попадалась на глаза табличка - как пишут код начинающие, и как профи. Там один из пунктов (в колонке профи):
PHP:
mysql_connect('localhost','root') or die ("Невозможно подключиться к серверу")
Вот это "or die", если его прописывать при каждой mysql функции, покажет место ошибки!
Теперь - mysql_fetch_array () - функция при КАЖДОМ ВЫЗОВЕ выбирает ОЧЕРЕДНУЮ СТРОКУ из таблицы.
Если Вам нужна одна строка, в запросе укажите: WHERE условие, или LIMIT 1. Если выводите все или несколько строк, используйте цикл while:
PHP:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
$query=mysql_query($sql,$conn);
// цикличкский опрос строк
while ($result=mysql_fetch_array($query))
{
    echo "login: ".$result['login'];
    echo "password: ".$result['pass']."<br />";
mysql_close($conn);
?>
Поищите на http://www.php.su/books/ справочник по MYSQL в формате .chm (справочный файл Windows)
Ребята ну давай те уже решим проблему

я воспользовался вашими кода ми пусто вот что выдаёт каждый из них

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="SELECT login,pass FROM  table_log";
$query=mysql_query($sql,$conn);
// цикличкский опрос строк
while ($result=mysql_fetch_array($query))
{
    echo "login: ".$result['login'];
    echo "password: ".$result['pass']."<br />";
}
mysql_close($conn);
?>
в этом коде была ошибка его автор забыл поставить в конце цикла закрывающюю блок скобку "}"
ошибку нашёл И ОБЕЗВРЕДИЛ запустил но скрипт так и ничего не вывел

вот другой код которым я воспользовался

Код:
<?php
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn); // Как я понял тут для определенных операций разные базы подразумеваются?
//такое не гут, обычно в одной базе разные таблицы для этих дел
$sql="SELECT login,pass FROM table_log";
$querty=mysql_query($sql,$conn);
if(mysql_num_rows($query)){ // Незабываем проверять результаты
 $result=mysql_fetch_array($querty);
 $login=$result['login'];
 $pass=$result['pass'];
} else {
 $login='guest';
 $pass='n/a';
}
mysql_close($conn);
echo $login.$pass;
?>
ошибка:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\denwer\www\denwer\baz.php on line 7
guestn/a
помогите в чём же дело????
я думаю что я просто данные не занёс в баззу на всякий случай посмотрите код который их туда заносит он ошибок не выдаёт

Код:
<?php
//$login=$_POST["login"];
//$pass=$_POST["pass"];
$login="dmitriy";
$pass="233868";
$conn=mysql_connect('localhost','root');
$db=mysql_select_db('logi',$conn);
//SQL команды
$sql="INSERT INTO table_log ('login','pass')
    VALUES ('$login','$pass')";
$rs=mysql_query($sql,$conn);
mysql_close($conn);
echo "ВСЁ гуд!";
?>
БАЗЗУ logi создавал через MYPHPadmin и таблицу тоже

ну может кто нибудь поможет!!!!!

коды копировал в редактор не проверяя надеюсь вы не меняли суть скрипта!
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
В конце каждого из скриптов добавь до mysql_close()
Код:
echo mysql_error();
А так же после каждого mysql_query();
Код:
echo "Numbers of rows: ".mysql_num_rows($query);
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Прошу прощения за прозеванную скобку }!!!
У Вас:
PHP:
$sql="INSERT INTO table_log ('login','pass') VALUES ('$login','$pass')";
А нужно:
PHP:
$sql="INSERT INTO table_log (login, pass) VALUES ('".$login."','".$pass."')";
Обратите внимание на расстановку ОДИНОЧНЫХ КАВЫЧЕК!
Проверенный на Денвере пример:
файл index.htm (только body):
HTML:
<strong>Добавить в БД</strong><br>
<form action="aa.php" method="post">
	Логин: <input type="text" name="login"><br>
	Пароль: <input type="password" name="pass"><br>
	<input type="submit" name="add_record">
</form>
<a href="aa.php">Посмотреть таблицу</a>
файл aa.php:
PHP:
<?php
$HOST = "localhost";
$USER = "root";
$PASS = "";
$DB = "logi";

// подключаемся к БД
mysql_connect($HOST, $USER, $PASS) 
	or die ("Сервер ".$HOST." отказал в подключении пользователю ".$USER);
$db=mysql_select_db($DB)
	or die ("Невозможно выбрать базу данных ".$DB);
// обработка формы записи логина и пароля в БД 
if (isset ($_POST['add_record']))
{
	// получаем данные, переданные формой
	$login = $_POST['login'];
	$pass = $_POST['pass'];
	// в учебных целях пропускаем очень важный этап - 
	// обработку введенных данных для защиты от SQL-инъекций!!!
	$query_text = "INSERT INTO table_log SET login = '".$login."', pass = '".$pass."'";
	// можно "INSERT INTO table_log (login, pass) VALUES ('".$login."', '".$pass."'"
	if (mysql_query ($query_text))
		// возвращаемся на страницу с формой
		header ("location: index.htm");
	else
		// или выводим сообщение об ошибке
		echo ("Произошла ошибка записи в базу данных<br><a href=\"index.php\">Назад</a>");
}
// вывод содержимого таблицы
else	
{
?>
<h3>Список логинов и паролей</h3>
<table border="1" cellspacing="0" cellpadding="5">
	<tr><th>Логин</th><th>Пароль</th></tr>
<?php
	$query_text = "SELECT * FROM table_log";
	$query = mysql_query ($query_text);
	while ($result = mysql_fetch_array ($query))
		echo "<tr><td>".$result['login']."</td><td>".$result['pass']."</td></tr>";	
?>
</table>
<a href="index.htm">Назад</a>
<?php
}
?>
Удачи!
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
Прошу прощения за прозеванную скобку }!!!
У Вас:
PHP:
$sql="INSERT INTO table_log ('login','pass') VALUES ('$login','$pass')";
А нужно:
PHP:
$sql="INSERT INTO table_log (login, pass) VALUES ('".$login."','".$pass."')";
Обратите внимание на расстановку ОДИНОЧНЫХ КАВЫЧЕК!
Проверенный на Денвере пример:
файл index.htm (только body):
HTML:
<strong>Добавить в БД</strong><br>
<form action="aa.php" method="post">
	Логин: <input type="text" name="login"><br>
	Пароль: <input type="password" name="pass"><br>
	<input type="submit" name="add_record">
</form>
<a href="aa.php">Посмотреть таблицу</a>
файл aa.php:
PHP:
<?php
$HOST = "localhost";
$USER = "root";
$PASS = "";
$DB = "logi";

// подключаемся к БД
mysql_connect($HOST, $USER, $PASS) 
	or die ("Сервер ".$HOST." отказал в подключении пользователю ".$USER);
$db=mysql_select_db($DB)
	or die ("Невозможно выбрать базу данных ".$DB);
// обработка формы записи логина и пароля в БД 
if (isset ($_POST['add_record']))
{
	// получаем данные, переданные формой
	$login = $_POST['login'];
	$pass = $_POST['pass'];
	// в учебных целях пропускаем очень важный этап - 
	// обработку введенных данных для защиты от SQL-инъекций!!!
	$query_text = "INSERT INTO table_log SET login = '".$login."', pass = '".$pass."'";
	// можно "INSERT INTO table_log (login, pass) VALUES ('".$login."', '".$pass."'"
	if (mysql_query ($query_text))
		// возвращаемся на страницу с формой
		header ("location: index.htm");
	else
		// или выводим сообщение об ошибке
		echo ("Произошла ошибка записи в базу данных<br><a href=\"index.php\">Назад</a>");
}
// вывод содержимого таблицы
else	
{
?>
<h3>Список логинов и паролей</h3>
<table border="1" cellspacing="0" cellpadding="5">
	<tr><th>Логин</th><th>Пароль</th></tr>
<?php
	$query_text = "SELECT * FROM table_log";
	$query = mysql_query ($query_text);
	while ($result = mysql_fetch_array ($query))
		echo "<tr><td>".$result['login']."</td><td>".$result['pass']."</td></tr>";	
?>
</table>
<a href="index.htm">Назад</a>
<?php
}
?>
Удачи!



СПАСИБО за полноценный код всё работает! запись и считывание происходит

но заметил такое БАГ после нажатия отправить перекидывает на всем знакомую страничку с кодом 404 (отсутсвие страницы)

как объясните такое?
 

vabank94

Member
Регистрация
09.12.2009
Сообщения
13
УВАЖАЕМЫЙ TIGRA60

спасибо вам за полноценый код записывать я научился модифицировал как отдельный скрипт который читает базу

но почему то немогу записать данные в баззу

вы бо не могли сделать отдельный код который просто записывает две строки одну в поле LOGIN а другую в поле PASS

очень прошу!!!! если не трудно а всякий случай вот мой код!

Код:
<?php
# срипт записывает данные данные в баззу LOGI в таблицу table_log
$login=$_POST["login"];
$pass=$_POST["pass"];
$conn=mysql_connect("localhost","root");
$db=mysql_select_db("logi");
//SQL команды
$sql="INSERT INTO table_log ('login','pass')
    VALUES ('$login','$pass')";
$rs=mysql_query($sql);
mysql_close($conn);
echo "ВСЁ гуд!";
?>
заранее спасибо
_____________________________________________________________________________________________
ох уж эти учебники кучу ошибок наделают а потом.........
 
Статус
Закрыто для дальнейших ответов.
Верх Низ