PDA

Показать полную графическую версию : php & MSSQL


cibin
12-06-2013, 18:36
Учитывая что известно ip адрес сервера mssql, известно логин и пароль для доступа к БД. Как можно связать php и mssql!

Нужно просто вывести в php информацию из определённой таблицы да так что бы скрипт запускался каждые допустим 2 минуты. дело в том что создана программа которая собирает информацию в таблицу mssql, нужно что бы эту таблицу можно просматривать в виде вэб-страницы.

Как вывести инфу, я знаю, я не знаю только 2-а момента:
1) связка php и mssql
2) как заставить запускать скрипт или обновлять страницу самому каждые 2 минуты или минуты?

P.S. желательно подробно, и надо учесть что с большей вероятностью страницу будут просматривать в браузере IE и поднят вэб-сервер appserv.
P.S.S. просьба учитывать что у меня используется appserv. Из всех опробованных серверов он мне больше всего подошел!

Заранее спасибо Всем кто мне сможет помочь!

exo
12-06-2013, 18:48
я извиняюсь, что в начале выдал на mysql... вот на MS SQL (https://www.google.ru/#newwindow=1&output=search&sclient=psy-ab&q=%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA+mssql+php&oq=%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA+mssql+php&gs_l=hp.3..35i39j0i8i30l3.692.692.0.1461.1.1.0.0.0.0.100.100.0j1.1.0...0.0.0..1c.1.17.psy-ab.c9rAyNiYeIE&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.47810305,d.ZWU&fp=784b118aeab9ddc7&biw=1920&bih=955).
а выполнение скрипта можно настроить в планировщике задач.

DedAlex
13-06-2013, 13:59
как заставить запускать скрипт или обновлять страницу самому каждые 2 минуты или минуты? »
Можно в коде страницы вставить<meta http-equiv="refresh" content="120">

cibin
17-06-2013, 18:13
Выполнил следующие операции:
1) В файле php.ini и расскоментировал строку "extension=php_mssql.dll"
2) Создал скрипт connect в виде:
<?php
$host="адрес хоста";
$user="юзер";
$pwd="пароль";
$db=mssql_connect($host,$user,$pwd);
mssql_select_db("имя базы данных",$db);
?>
3) В строку «$host="адрес хоста";» вписывал как символьное имя сервера так и адресное.
4) Сами параметры подключение проверено на SQL Server Management Studio, подключаюсь без проблем.



В результате выполнения скрипта выдаёт сообщение:
Fatal error: Call to undefined function mssql_connect() in C:\AppServ\www\ScanNet\connect.php on line 5

Т.е. ругается на строку: $db=mssql_connect($host,$user,$pwd);

Есть ощущение я что-то не так делаю!

exo
17-06-2013, 18:32
если без переменных user и pwd, а вписать их в mssql_connect ? Ибо ваш вариант описан к 2000 SQL, я думаю вряд ли 2000 у вас сейчас...
Так же можно указать порт, и настроить файрвол на подключение по этому порту с других хостов. SQL Server Management Studio - с удалённого компьютера проверяли?
http://php.net/manual/ru/function.mssql-connect.php

Habetdin
18-06-2013, 06:29
Fatal error: Call to undefined function mssql_connect() »
Вызов неизвестной PHP функции mssql_connect() » модуль MSSQL не подключен либо это сделано неправильно :closed-to
В файле php.ini и расскоментировал строку "extension=php_mssql.dll" »
По умолчанию в PHP 5.3 (какая версия у вас?) отсутствует php_mssql.dll, да и на php.net рекомендуют (http://php.net/manual/en/intro.mssql.php) использовать другую библиотеку:
This extension is not available anymore on Windows with PHP 5.3 or later.

SQLSRV, an alternative driver for MS SQL is available from Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

cibin
18-06-2013, 09:15
если без переменных user и pwd, а вписать их в mssql_connect ? Ибо ваш вариант описан к 2000 SQL, я думаю вряд ли 2000 у вас сейчас...
Так же можно указать порт, и настроить файрвол на подключение по этому порту с других хостов. SQL Server Management Studio - с удалённого компьютера проверяли? »

1) "если без переменных user и pwd, а вписать их в mssql_connect ?"
Можно по подробнее что имеется ввиду?

2) "Ибо ваш вариант описан к 2000 SQL, я думаю вряд ли 2000 у вас сейчас..."
Пытаюсь подключиться к 2005-ому.

3) Я к стати порт не указывал и было подозрение что именно из-за этого не желает подключиться.

По умолчанию в PHP 5.3 (какая версия у вас?) отсутствует php_mssql.dll, да и на php.net рекомендуют использовать другую библиотеку: »

используется appserv, если перейти по ссылке localhost показывает что php версии 6.0.0

Была у меня мысль что мне нужно скачать dll-ку и запихнуть его, но найти не проблема, а вот куда пихать его надо!

Habetdin
18-06-2013, 09:42
куда пихать его надо »
Смотрите параметр extension_dir в php.ini. Расширения PHP в Windows (http://php.net/manual/ru/install.windows.extensions.php).

cibin
18-06-2013, 10:18
Смотрите параметр extension_dir в php.ini »

extension_dir = "C:/AppServ\php\ext"

получается в директорию php\ext пихать надо!?

Habetdin
19-06-2013, 00:28
cibin, да.

cibin
19-06-2013, 09:43
Не помогло, да же больше скажу, потерял доступ к phpmyadmin, пришлось удалить и поставить заново сервер! Есть подозрение что у меня как описано в одном форуме "у пользователя нет разрешений на внешние подключения. скорее всего права ограничены только на подключение по 127.0.0.1", но там не описано как обойти эту проблему.

Habetdin
19-06-2013, 17:44
cibin, если бы проблема была в подключении, ошибка отличалась бы от "Call to undefined function".
[hr]Полезный коммент человека, мучавшегося с MSSQL и PHP > 5.3:
If you have an application which requires MSSQL as interface (and not the new SQLSRV) you have to look for an alternative method. The old (now rightly unsupported) way from Microsoft does not work with PHP 5.3.
After spending several days and nights with trying to connect
here is an easy solution which worked great with all applicatins expecting mssql: FreeTDS for Windows. Here is a great how to with installer links on the Moodle site: http://docs.moodle.org/en/Installing_MSSQL_for_PHP

Couple of hints:
- Make sure you have set up a user with "SQL SERVER authentication" who has rights to connect.
- Also make sure after you install and still have problems to run PHPinfo and check that you find the below:

PHPINFO: mssql
MSSQL Support enabled
...
Library version FreeTDS

That works perfect for me on Windows 2003 with IIS6 and PHP 5.3 (non threadsafe, VC9).
Hope this is helpful
Хотя, он возможно и не понадобиться ;)
используется appserv ... php версии 6.0.0 »
AppServ 2.6.0? Лучше поставить стабильный AppServ 2.5.10, в котором PHP 5.2.6 и нет PHP6, который сейчас не разрабатывается аж с 2010 года. Да и проблемы с MSSQL "искаропки" не будет =)

cibin
20-06-2013, 10:41
\AppServ 2.6.0? Лучше поставить стабильный AppServ 2.5.10, в котором PHP 5.2.6 и нет PHP6, который сейчас не разрабатывается аж с 2010 года. Да и проблемы с MSSQL "искаропки" не будет »

Последовал Вашему совету, скрипт не желает подключаться!

Habetdin
21-06-2013, 14:44
скрипт не желает подключаться »
Подробности? :) Ошибка изменилась?

cibin
22-06-2013, 09:12
Подробности? Ошибка изменилась? »

Скрипт тот же, те же действия с php.ini, но уже использую сервер AppServ 2.5.10, и ошибка идентичная, на ту же строку ругается.

Habetdin
22-06-2013, 19:58
cibin, есть что-либо про MSSQL в выдаче phpinfo()? Ну и вот интересная ссылка (http://php.ru/forum/viewtopic.php?t=25780), может поможет установка клиентской части MSSQL, как и тому человеку.




© OSzone.net 2001-2012