Авторизация для доступа к БД через Web
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Код: Выделить всё
" . $_SERVER['PHP_AUTH_USER'] . "

- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Канечно есть... :-) ... Собственно вчера вечером я об этом и сам подумал. С ним работаета какогонить pgsql_fetch_row у вас тама нету?
запрос нормально... Вот остаточный пример моего кода...
Код: Выделить всё
$count=pg_fetch_row($result);
if ($count > 0)
{
echo "Login OK.<br>\n";
echo "Your name is {$_SERVER['PHP_AUTH_USER']}.";
}else{
echo "Login wrong.\n";
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
хе.. видимо как раз разница в БД...
а у меня на фронте php затишье - надоело код стругать. так, в сайте баги устраняю по мере необходимости, да кусками переписываю - у меня старый код (старше года) кривой местами - как умел так и лепил
хотя функциональность новая всё равно появлется - добавл функцию отдельную для запросов, в неё встрои счётчик запросов, потом ещё таймер прилеплю - чтоб видно было на что больше времени ужодит на php или на MySQL...
а у меня на фронте php затишье - надоело код стругать. так, в сайте баги устраняю по мере необходимости, да кусками переписываю - у меня старый код (старше года) кривой местами - как умел так и лепил

Убей их всех! Бог потом рассортирует...
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Возникает следующий вопрос... необходимо сделать простую поисковую форму - т.е. ПэХэПэ-скрипт должен генерировать html-страницу, на которой будет небольшое меню: строка ввода данных и кнопка для проведения процедуры выборки этих данных из БД. С ходу не вышло разобраться со следующим моментом - как передать в sql-запрос переменные, которые принимают на себя значение тех данных, которые пользователь ввел в поисковую форму???... Может вопрос и звучит несколько туманно, но я полагаю, что общая идея должна быть ясна... Надеюсь на дельный совет, камрады... :-)
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Конечно читал... однако пока - тупичок имеем... Хотя вот как я вижу решение этого вопроса - есть глобальные переменные типа - $_POST['name_product'] - это мне понятно. Но каким образом их "прикрутить" к html-ю? К примеру, кусок кода :почитай про POST и GET
Код: Выделить всё
<tr>
<th> Название компании </th>
<td><input type="text" name="name_client"></td>
</tr>
<th> ID-номер компании </th>
<td><input type="text" name="id_client"></td>
</tr>
<tr>
<form method = "post" action ="find_client.php">
<td colspan =2 align='center'>
<input type = submit value ="Поиск клиента компании">
</form>
</tr>
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Однако, камрады, прошу помощи... перелопатил справочную литературу и статьи по моей теме - пока не вытянул для себя необходимой сути... Мне необходимо выполнить простой запрос в БД и извлечь результат запроса. Привожу кусок кода PHP (вы уж простите меня.... однако сам не могу догнать...) с коментами и ошибку - может чья-то светлая голова даст наводку, куда копать...
А теперь ошибка которая у меня вываливается при запуске скрипта -
Строка №37 это - - но что это за предупреждение при запуске скрипта? Неверно размещенный синтаксис для целого???
Спасибо за поддержку...
Код: Выделить всё
<?
//инклюдим файл globals.php, содержащий параметры подключени (пасс,юзер,база,хост)
include ("globals.php");
//дальше идет кусок html-кода
?>
<html>
<head>
<title>головная страница</title>
</head>
<body>
<table border align='center'>
<tr>
<td align='center'><br>Информационно-справочная система<
<br>
</tr>
<table border=1 align='left'>
<tr>
<tr>
<th> Название компании </th>
<td><input type="text" name="name_client"></td>
</tr>
<th> ID-номер компании </th>
<td><input type="text" name="id_client"></td>
</tr>
<tr>
/*смущает меня идущая ниже строка - верно выбрана переменная для action?*/
<form method = "post" action ="<?php echo $_SERVER['PHP_SELF']?>">
<td colspan =2 align='center'>
<input type = submit value ="Поиск клиента компании">
</form>
</tr>
</tr>
</table>
<?
//соединяемся с БД. Если нет соединения - сообщение об ошибке
$connect=pg_connect("host=$host user=$user dbname=$dbname password=$password"
or die ("<br>Нет соединения с базой данных: " . pg_last_error());
//Выполняем запрос в БД на наличие записи в таблице "клиенты"
$query="SELECT * FROM client where id='$id_client' or name='$name_client'";
$result=pg_query($connect, $query);
if (!$result){
echo '<br>Запрос не выполнен.Ошибка: ' . pg_last_error();
exit;
}else{
echo "<br>Ваш запрос выполнен.";
}
//Выдаем результат запроса на страницу - Вот это меня смущает тоже...
$row=pg_fetch_row($result);
if ($row > 0){
echo "Имя компании-клиента: {$name_client}";
echo "<br />\n";
}
?>
</html>
Код: Выделить всё
Warning: pg_query(): Query failed: ERROR: invalid input syntax for integer: "" in /usr/local/www/forum/find_client.php on line 37
Запрос не выполнен.Ошибка: ERROR: invalid input syntax for integer: ""
Код: Выделить всё
$result=pg_query($connect, $query);
Спасибо за поддержку...

- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- trubb
- лейтенант
- Сообщения: 865
- Зарегистрирован: 2005-03-16 17:42:26
- Откуда: сами мы не местные, приехали на лечение
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Привел код к следующему виду (очень сложно ориентироваться в статьях, учебниках и манах по PHP - слишком быстро все меняется, читаешь один первоисточник - пишут, нужно делать так. Читаешь другой - делать иначе, чем в первом..)
После перехода браузера на этот скрипт, сообщений об ошибках и предупреждений - нет. Интересно теперь вот что - выполняется запрос к БД или нет??? Ведь ответа от запроса - результата - я так же не наблюдаю.. Какие будут соображения камрады?
Код: Выделить всё
<?
include ("globals.php");
?>
<html>
<head>
<title>Инфо-старт: головная страница</title>
</head>
<body>
<table border align='center'>
<tr>
<td align='center'><br>Информационно-справочная система"</td>
<br>
</tr>
<table border=1 align='left'>
<tr>
<tr>
<th> Название компании </th>
<td><input type="text" name="name_client"></td>
</tr>
<th> ID-номер компании </th>
<td><input type="text" name="id_client"></td>
</tr>
<tr>
<form method = "post" action ="<?php echo $_SERVER['PHP_SELF']?>">
<td colspan =2 align='center'>
<input type = submit value ="Поиск клиента компании">
</form>
</tr>
</tr>
</table>
<?
if (isset($_POST['name'])||isset($_POST['id'])){
//соединяемся с БД. Если нет соединения - сообщение об ошибке
$connect=pg_connect("host=$host user=$user dbname=$dbname password=$password")
or die ("<br>Нет соединения с базой данных: " . pg_last_error());
//Выполняем запрос в БД на наличие записи клиента
$query="SELECT * FROM client where id='".$_POST['id']."'
or name='".$_POST['name']."'";
$result=pg_exec($connect, $query);
//Далее была попытка запустить "дебагер" для sql-запроса. Попытка оказалось тщетной
//хотя все делал по-учебнику... :-(
/*$result=pg_trace("/tmp/log_pg_query.log", w, $query);*/
if (!$result){
echo '<br>Запрос не выполнен.Ошибка: ' . pg_last_error();
exit;
}else{
echo '<br>Ваш запрос выполнен.';
}
//Выдаем результат запроса
$row=pg_numrow($result);
for ($i=0; $i<$row; $i++){
$array=pg_fetch_object($result, $i);
echo "<br />\n";
}
}
?>
</body>
</html>
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Код: Выделить всё
echo "<br />\n";
Убей их всех! Бог потом рассортирует...
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
"Немножко" победил я запросы... :-) ... фуууу мля.... если кто будет работать с PostgreSQL в связке с PHP - единственный вариант первоисточника - "Разработка Web-приложений на PHP и PostgreSQL" т Гешвинде и Шенинга... более никакой иной литературы относительно данной темы - просто нет. А лажа как всегда с типом переменных - пока еще не могу обработать запрос на извлечение данных из поля с типом "text", но числовые поля (serial, int , ETC) - запрос обрабатывает.... продолжаю работать далее...
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- proxy-man
- лейтенант
- Сообщения: 692
- Зарегистрирован: 2006-04-05 12:06:13
- Откуда: Odessa
- Контактная информация:
Мой выбор обоснованный.... прежде всего - PostgreSQL - это ОБЪЕКТНО-РЕЛЯЦИОННАЯ БАЗА ДАННЫХ.... в ней давно были реализованны кое-какие вещи, которые внесли только в 5-ю ветку "мускуля"... Да и вообще - это отдельная тема:"СЛОН против Мускуля"... От себя лично могу вот еще что сказать - когда я вообще заинтересовался БД (из разряда ОпенСорс), то когда поставил Слона, был приятно удивлен автодоплнением в консольном клиенте "слона", а потом ставил мускуль - хм... в его консольном клиенте не было автодополнения sql-команд... Но это было уже давно :-) и не является основной причиной выбора... Да и если слышал, 1-Ску тоже собираются переносить на БД "опен-сорс" - и выбор именно Постгрес...