php-windows Digest 4 Dec 2006 16:46:23 -0000 Issue 3081
Topics (messages 27297 through 27299):
Re: SQL Server 2005
27297 by: Frank M. Kromann
27298 by: git
How do you play an mp3 file on php?
27299 by: vick_dini.hotmail.com
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[email protected]
----------------------------------------------------------------------
--- Begin Message ---
Using ADODB from COM is an option but your script will never run on a *nix
box. If you are using the mssql_* your script can be moved between Win32
and *nix platforms without changes.
- Frank
> I'd be interested. I've used ADO when connecting through VB and C# but
in PHP (which I'm relatively new at) I've always used the mssql_*
functions.
>
>
> Regards,
>
> Bruce
>
> >>> git <[EMAIL PROTECTED]> 2/12/2006 1:43 a.m. >>>
> On Wed, 15 Nov 2006 02:17:07 -0800, Frank M. Kromann wrote:
>
> > Hello,
> >
> > This is not correct.
> >
> > PDO and native mssql_*() functions exists in two fifferent versions.
The
> > version compiled with Microsofts (old) version of dblib has the
> > restrictions mentioned here but the version compiled with FreeTDS
> > (php_dblib.dll and php_pdo_dblib.dll) does not.
> >
> > - Frank
> >
> >> Hello,
> >>
> >> I recommend you use PDO and odbc to connect to MS SQL. Other
> > connection
> >> methods have limitations with MS SQL including:
> >>
> >> 1.) varchars limited to 256
> >> 2.) no support for extended characters
> >>
> >> Aspen
> >>
> >> -----Original Message-----
> >> From: Dale Attree [mailto:[EMAIL PROTECTED]
> >> Sent: Tuesday, November 14, 2006 5:14 AM
> >> To: [email protected]
> >> Subject: [PHP-WIN] SQL Server 2005
> >> Importance: High
> >>
> >> Hi all,
> >>
> >>
> >>
> >> I am having trouble connecting to SQL Server 2005. I have installed
it
> > with
> >> mixed mode authentication.
> >>
> >>
> >>
> >> When I call mssql_connect('localhost',$username,$password), I get a
PHP
> >> error saying unable to connect to server.
> >>
> >>
> >>
> >> In the PHP manual, it says something about an "interfaces" file.
Where
> > would
> >> I find this file?
> >>
> >>
> >>
> >> Kind Regards,
> >>
> >> Dale
> >>
> >>
> >>
>
> In general - unless you are connecting from something other than
windows
> is it most logical to use ADODB and COM to connection with SQL Server.
>
> That is how I have done it for years and it ticks all the boxes, fast
> reliable, flexible, supported, EASY.
>
> If anyone is interested enough I am happy to post a description of how
to
> do it and the issues you might face on one of my blogs
>
> Cheers
>
> AJ
>
> --
> Cubical Land
> www.cubicalland.com
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--- End Message ---
--- Begin Message ---
Ok, here is enough code to get you started :-)
<?php
/** this function is here to ensure all locks etc on a connection are
* cleared at the end of the script. NEVER call this from a script!
*/
function _adodb_shutdown($connection=null)
{
// Place any shutdown code here
}
/** This class houses the static methods to creating connections to
SQLServer.
*/
class ADODB
{
function ConnectToSQLServer
(
$server,
$database,
$username,
$password
)
{
$obj=new COM('ADODB.connection');
if(!$obj->pinned())
{
$obj->open("Provider=SQLOLEDB.1;Server=$server;Database=
$database;UID=$username;PWD=$password;");
}
register_shutdown_function('_adodb_shutdown');
return $obj;
}
function ExecuteQuery($sql,&$connection)
{
$recordsAffected=0;
return $connection->Execute($sql, $recordsAffected, 8);
}
function Execute($sql,&$connection)
{
$ra=0;
$connection->Execute($sql,$ra,129);
}
}
/* Some util functions */
function dbEscape($s)
{
return "'".str_replace("'", "''", $s)."'";
}
function forceNumber($number)
{
if(!is_numeric($number))
{
// Trigger error is one of my fuctions, you'd have to do
somethine else ;-)
//trigger_error("Non numeric passed to forceNumber: '$number'",
E_USER_ERROR);
}
return $number*1.0; // ensures it is stored in php as a number
}
/* Some examples of using it.
* Please note that in these examples I connect to the DB in each
function,
* this is totally and utterly wrong for a real situation, you should
only
* make a connection once per php client connection.
*/
/* Gets a single result */
function exmpl1()
{
$server=ADODB::ConnectToSQLServer
(
$server,
$database,
$username,
$password
);
$recset=0;
$recset=ADODB::ExecuteQuery("SELECT MIN(RowID) FROM T_RowID",
$server);
$ret=$recset->Fields;
$ret=$ret->item(0);
$ret=$ret->Value;
$recset->close();
return $ret;
}
/* Gets an array of results */
function exmpl2($Name,$FromId)
{
$server=ADODB::ConnectToSQLServer
(
$server,
$database,
$username,
$password
);
$recset=0;
$Name=dbEscape($name);
$FromId=forceNumber($parent);
$recset=ADODB::ExecuteQuery("SELECT ToId FROM T_References WHERE
KeyName=$Name AND FromId=$FromId",$server);
$ret=array();
while(!$recset->EOF())
{
$p=$recset->Fields;
$p=$p->item(0);
array_push($ret,$p->Value);
$recset->movenext();
}
$recset->close();
return $ret;
}
/* Runs an update only */
function exmpl3($parent,$name,$child)
{
$server=ADODB::ConnectToSQLServer
(
$server,
$database,
$username,
$password
);
$parent=forceNumber($parent);
$name=substr($name,0,112);
$name=dbEscape($name);
$child=forceNumber($child);
$sql="INSERT INTO T_References (FromId,KeyName,ToId) VALUES
($parent,$name,$server)";
ADODB::Execute($sql,$this->connection);
}
?>
Cheers
AJ
On Mon, 2006-12-04 at 12:30 +1300, Bruce Cowin wrote:
> I'd be interested. I've used ADO when connecting through VB and C# but in
> PHP (which I'm relatively new at) I've always used the mssql_* functions.
>
>
> Regards,
>
> Bruce
>
> >>> git <[EMAIL PROTECTED]> 2/12/2006 1:43 a.m. >>>
> On Wed, 15 Nov 2006 02:17:07 -0800, Frank M. Kromann wrote:
>
> > Hello,
> >
> > This is not correct.
> >
> > PDO and native mssql_*() functions exists in two fifferent versions. The
> > version compiled with Microsofts (old) version of dblib has the
> > restrictions mentioned here but the version compiled with FreeTDS
> > (php_dblib.dll and php_pdo_dblib.dll) does not.
> >
> > - Frank
> >
> >> Hello,
> >>
> >> I recommend you use PDO and odbc to connect to MS SQL. Other
> > connection
> >> methods have limitations with MS SQL including:
> >>
> >> 1.) varchars limited to 256
> >> 2.) no support for extended characters
> >>
> >> Aspen
> >>
> >> -----Original Message-----
> >> From: Dale Attree [mailto:[EMAIL PROTECTED]
> >> Sent: Tuesday, November 14, 2006 5:14 AM
> >> To: [email protected]
> >> Subject: [PHP-WIN] SQL Server 2005
> >> Importance: High
> >>
> >> Hi all,
> >>
> >>
> >>
> >> I am having trouble connecting to SQL Server 2005. I have installed it
> > with
> >> mixed mode authentication.
> >>
> >>
> >>
> >> When I call mssql_connect('localhost',$username,$password), I get a PHP
> >> error saying unable to connect to server.
> >>
> >>
> >>
> >> In the PHP manual, it says something about an "interfaces" file. Where
> > would
> >> I find this file?
> >>
> >>
> >>
> >> Kind Regards,
> >>
> >> Dale
> >>
> >>
> >>
>
> In general - unless you are connecting from something other than windows
> is it most logical to use ADODB and COM to connection with SQL Server.
>
> That is how I have done it for years and it ticks all the boxes, fast
> reliable, flexible, supported, EASY.
>
> If anyone is interested enough I am happy to post a description of how to
> do it and the issues you might face on one of my blogs
>
> Cheers
>
> AJ
>
> --
> Cubical Land
> www.cubicalland.com
>
--
git <[EMAIL PROTECTED]>
www.cubicalland.com
--- End Message ---
--- Begin Message ---
Hi!
I'd like to know if it's possible to play an mp3 file using php only
(without flash) and how it's done. Hope this is possible and someone knows
how to do it.
Thanks to whoever answers.
--- End Message ---