Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   php & MSSQL (http://forum.oszone.net/showthread.php?t=262341)

cibin 12-06-2013 18:36 2166604

php & MSSQL
 
Учитывая что известно 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 2166614

я извиняюсь, что в начале выдал на mysql... вот на MS SQL.
а выполнение скрипта можно настроить в планировщике задач.

DedAlex 13-06-2013 13:59 2167024

Цитата:

Цитата cibin
как заставить запускать скрипт или обновлять страницу самому каждые 2 минуты или минуты? »

Можно в коде страницы вставить
Код:

<meta http-equiv="refresh" content="120">

cibin 17-06-2013 18:13 2169308

Выполнил следующие операции:
1) В файле php.ini и расскоментировал строку "extension=php_mssql.dll"
2) Создал скрипт connect в виде:
PHP код:

<?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 2169322

если без переменных 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 2169588

Цитата:

Цитата cibin
Fatal error: Call to undefined function mssql_connect() »

Вызов неизвестной PHP функции mssql_connect() » модуль MSSQL не подключен либо это сделано неправильно :closed-to
Цитата:

Цитата cibin
В файле php.ini и расскоментировал строку "extension=php_mssql.dll" »

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

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 2169642

Цитата:

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

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

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

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

Цитата:

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

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

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

Habetdin 18-06-2013 09:42 2169662

Цитата:

Цитата cibin
куда пихать его надо »

Смотрите параметр extension_dir в php.ini. Расширения PHP в Windows.

cibin 18-06-2013 10:18 2169692

Цитата:

Цитата Habetdin
Смотрите параметр extension_dir в php.ini »

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

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

Habetdin 19-06-2013 00:28 2170408

cibin, да.

cibin 19-06-2013 09:43 2170502

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

Habetdin 19-06-2013 17:44 2170791

cibin, если бы проблема была в подключении, ошибка отличалась бы от "Call to undefined function".

Полезный коммент человека, мучавшегося с 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

Хотя, он возможно и не понадобиться ;)
Цитата:

Цитата cibin
используется 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 2171120

\
Цитата:

Цитата Habetdin
AppServ 2.6.0? Лучше поставить стабильный AppServ 2.5.10, в котором PHP 5.2.6 и нет PHP6, который сейчас не разрабатывается аж с 2010 года. Да и проблемы с MSSQL "искаропки" не будет »

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

Habetdin 21-06-2013 14:44 2171739

Цитата:

Цитата cibin
скрипт не желает подключаться »

Подробности? :) Ошибка изменилась?

cibin 22-06-2013 09:12 2172055

Цитата:

Цитата Habetdin
Подробности? Ошибка изменилась? »

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

Habetdin 22-06-2013 19:58 2172290

cibin, есть что-либо про MSSQL в выдаче phpinfo()? Ну и вот интересная ссылка, может поможет установка клиентской части MSSQL, как и тому человеку.


Время: 14:15.

Время: 14:15.
© OSzone.net 2001-