imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 12.07.2004, 13:35     # 1
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Вопросы по работе с MySQL на PHP

Как скриптом определить:
1. есть ли на сервере MySQL;
2. имя MySQL базы.
CEO вне форума  
Старый 12.07.2004, 13:48     # 2
dr-evil
::VIP::
 
Аватар для dr-evil
 
Регистрация: 17.02.2002
Адрес: /home/dr-evil
Пол: Male
Сообщения: 2 212

dr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэйdr-evil Сэнсэй
хм, если подключится - значит есть
__________________
Сеть - это диагноз... а сисадмин - состояние души.
Питер! Все на сходку!!! | Обзоры порталов. Добавь свою любимую систему!
dr-evil вне форума  
Старый 12.07.2004, 13:52     # 3
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
1. попробовать соедениться. идентификатор соединеия в случае успеха, false в противном
2. аналогично 1 только не connect, а select_db
А получить список баз, тебе никто не даст
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  
Старый 12.07.2004, 15:07     # 4
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Merlin Cori:
А получить список баз, тебе никто не даст
Кстати некоторые хостеры дают получить список (не буду показывать пальцем), поэтому если можешь подключиться к серверу - попробуй.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 12.07.2004, 15:40     # 5
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Понятно.
А каким запросом можно узнать о наличии определённой таблицы в базе Mysql ?
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 12.07.2004, 15:53     # 6
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Hubbitus это скорее исключение, чем правило

CEO

PHP код:
$conn_id=mysql_connect("base""user""password") or die ("Not connected");
mysql_select_db("base",$conn_id) or die ("Base not selected");
$query=mysql_query("SELECT * from table"); 
если удачно, то в $query true, иначе false
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  
Старый 12.07.2004, 21:47     # 7
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Merlin Cori Спсибо за конкретный пример. А не подскажешь ли, почему у меня это не совсем работает:
PHP код:
<?php
$conn_id
=mysql_connect("base""user""password") or die ("Not connected");
mysql_select_db("base",$conn_id) or die ("Base not selected");
$query=mysql_query("SELECT * from user");
if (
$query) {
$query ='CREATE TABLE user ( usID INT(5) NOT NULL, usName VARCHAR(50) NOT NULL, usPWD VARCHAR(50) NOT NULL );'
$result=mysql_query ($query);
}
echo 
$result;
?>
Выдает сообщение
Undefined variable: result in testsql.php on line 9

Последний раз редактировалось CEO; 12.07.2004 в 21:56.
CEO вне форума  
Старый 13.07.2004, 03:47     # 8
Fiery_Fenix
Junior Member
 
Аватар для Fiery_Fenix
 
Регистрация: 04.03.2004
Адрес: /root/sbin
Сообщения: 193

Fiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царстве
Вот так правильнее:
....
$result="No result";
if ($query) { ....
Переменная result определена в ответвлении которое не выполняется - вот парсер и матерится....
__________________
Кивляне! На сходку IMHO.ws шагом марш!
Fiery_Fenix вне форума  
Старый 13.07.2004, 04:32     # 9
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
CEO:
Код:
<?php
$conn_id=mysql_connect("base", "user", "password") or die ("Not connected");
mysql_select_db("base",$conn_id) or die ("Base not selected");
$query=mysql_query("SELECT * from user");
if ($query) {
$query ='CREATE TABLE user ( usID INT(5) NOT NULL, usName VARCHAR(50) NOT NULL, usPWD VARCHAR(50) NOT NULL );';
$result=mysql_query ($query);
}
echo $result;
?>
Выдает сообщение
Undefined variable: result in testsql.php on line 9
Лучше воспользоваться функцией mysql_error(), например так:
Код:
<?
$conn_id=mysql_connect("base", "user", "password") or die ("Not connected");
mysql_select_db("base",$conn_id) or die ("Base not selected");
$query=mysql_query("SELECT * from user");
print mysql_eror();
if ($query) {
$query ='CREATE TABLE user ( usID INT(5) NOT NULL, usName VARCHAR(50) NOT NULL, usPWD VARCHAR(50) NOT NULL );';
$result=mysql_query ($query);
print mysql_error();
}
?>
Если возникнет любая ошибка, то эта функция выведет ее краткое описание, если все нормально - то ничего.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.07.2004, 10:32     # 10
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
CEO
у тебя строка запроса заканчивается символом ; убери его.
Цитата:
$query ='CREATE TABLE user ( usID INT(5) INT(5) NOT NULL, usName VARCHAR(50) NOT NULL, usPWD VARCHAR(50) NOT NULL );';
запрос НЕ ДОЛЖЕН заканчиваться ;
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  
Старый 13.07.2004, 10:37     # 11
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Спасибо за дельные советы, теперь стало понятнее.
Написал в скрипте так:
....
$query ='CREATE TABLE user ( usID INT(5) NOT NULL, usName VARCHAR(50) NOT NULL, usPWD VARCHAR(50) NOT NULL );';
$result=mysql_query ($query);
$result="No result";
print mysql_error();
Теперь выдает ошибку:
Table 'base.user' doesn't exist, хотя эта таблица должна была создаться.
Где моя ошибка?

Merlin Cori: Убрал ; ошибка осталась.
CEO вне форума  
Старый 13.07.2004, 11:16     # 12
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
CEO
все работает, только что у себя проверил.
Цитата:
Table 'base.user' doesn't exist
Это сообщение у тебя выдается в первом случае. Если нажать обновить, то скажет что уже существует
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  
Старый 13.07.2004, 14:35     # 13
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Сам запрос действительно работает, табица не создавалась из-за неправильного условия:
было: $query=mysql_query("SELECT * from user");
if ($query) {... create table}
нужно : if (!$query) {...}
CEO вне форума  
Старый 13.07.2004, 14:39     # 14
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
CEO ааа.... ну я проверял напрямую без if
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  
Старый 14.07.2004, 18:59     # 15
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Снова у меня не все впорядке с MySql.
Cкрипт должен создавать записи, получая данные из формы, однако записи не создаются. Помогите найти ошибку.
форма:
<form action="sql1.php" method="post">
<input type="text" name="name">
...
<input type="submit">
</form>
скрипт:
...
$HTTP_POST_VARS["$name"];
$link = mysql_connect($host, $user, $password);
if ($query = "INSERT INTO user VALUE ('$name')")
{ print("Пользователь добавлен\n");
} else { print("попробуйте еще раз\n");}
...
CEO вне форума  
Старый 15.07.2004, 02:46     # 16
Fiery_Fenix
Junior Member
 
Аватар для Fiery_Fenix
 
Регистрация: 04.03.2004
Адрес: /root/sbin
Сообщения: 193

Fiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царстве
Цитата:
CEO:
if ($query = "INSERT INTO user VALUE ('$name')")
Вообще-то должно быть так:
if (mysql_query("INSERT INTO 'user' ('name') VALUE ('$name')"))...
ЗЫ Люди, а кавычки в запросах ставить обязательно, а то оно пашет и без них нормально
__________________
Кивляне! На сходку IMHO.ws шагом марш!
Fiery_Fenix вне форума  
Старый 15.07.2004, 09:27     # 17
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Fiery_Fenix: так работает, спасибо.
CEO вне форума  
Старый 21.07.2004, 03:18     # 18
killhunter
Junior Member
 
Аватар для killhunter
 
Регистрация: 24.10.2002
Сообщения: 68

killhunter Известность не заставит себя ждать
Вопрос новичка
Подскажите, пожалуйста, где здесь закралась ошибка:

<FORM ACTION="add.php" METHOD="post">
<INPUT TYPE="text" NAME="name">
<INPUT TYPE="submit" VALUE="go">
</FORM>

и код

<?
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "test";
$userstable = "g";

MYSQL_CONNECT($hostname,$username,$password) OR DIE("DOSN'T WORK");
@mysql_select_db("$dbName") or die("DOSN'T WORK");
$query = "INSERT INTO $userstable (g_name) VALUES ('$name')";
$result = MYSQL_QUERY($query);
MYSQL_CLOSE();
?>

В результате создается пустая строка, т.е. данные не передаются
killhunter вне форума  
Старый 21.07.2004, 03:56     # 19
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
а у тебя RegisterGlobals = On?

если нет, то тогда нужно обращаться через глобальный массив:

$HTTP_POST_VARS['name'];

и вообще очень плохой код, как симантически, так и синтаксически...
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 21.07.2004, 09:10     # 20
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Если в запросе ты имя таблицы и значение ты указываешь через переменную, то это должно выгледеть так

<?
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "test";
$userstable = "g";

MYSQL_CONNECT($hostname,$username,$password) OR DIE("DOSN'T WORK");
@mysql_select_db("$dbName") or die("DOSN'T WORK");
$query = "INSERT INTO ".$userstable." (g_name) VALUES ('".$name."')";
$result = MYSQL_QUERY($query);
MYSQL_CLOSE();
?>

В противном случае у тебя имя таблицы получается не g, а $userstable
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:44.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.