Warning: mssql_query() [function.mssql-query]:

 更新时间:2016年11月25日 16:39  点击:2276

Warning: mssql_query() [function.mssql-query]: message: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据发送到客户端。 (severity 16) in F:\myweb\lzlj\cn.php on line 21

Warning: mssql_query() [function.mssql-query]: Query failed in F:\myweb\lzlj\cn.php on line 21


error

这是说明天你mssql数据的字段类型为ntext而php不能识别它,解决办法是把ntext改成text就OK了.

PHP的数据库的ODBC

的ODBC是一种应用编程接口( API ) ,允许您连接到一个数据源(如MS Access资料库) 。


-------------------------------------------------- ------------------------------

创建一个ODBC连接
由于ODBC连接,可以连接到任何数据库,在任何电脑上,在您的网络,只要一个ODBC连接可用。

以下是如何创建ODBC连接到MS Access资料库:

打开管理工具图标在您的控制面板。
双击数据源( ODBC )图标内。
选择系统DSN标签。
点击添加系统DSN标签。
选择的Microsoft Access驱动程序。单击完成。
在接下来的画面中,按一下选择找到数据库。
给数据库的数据源名称( DSN ) 。
单击确定。
请注意,此配置需要做的计算机上您的网站上的位置。如果您正在运行Internet信息服务器( IIS )在您自己的电脑,上面的指示,将工作,但如果您的网站位于远程服务器上,你必须要有实际接触到该服务器,或要求您的网页主机,以向建立一个DSN的供您使用。


-------------------------------------------------- ------------------------------

连接到一个ODBC
该odbc_connect ( )函数是用来连接到ODBC数据源。该函数四个参数:数据源名称,用户名,密码和一个可选的游标类型。

该odbc_exec ( )函数是用来执行SQL语句。

例如
下面的例子创建了一个连接的DSN所谓北风,没有用户名和密码没有。然后它创建了一个数据库并执行它:

$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers"; 
$rs=odbc_exec($conn,$sql);

检索记录
该odbc_fetch_row ( )函数是用来记录返回的结果集。此函数返回true如果它能够返回行,否则假的。

该功能需要两个参数:结果的ODBC识别和可选的连续号码:

 

odbc_fetch_row($rs)
 

检索字段的纪录
该odbc_result ( )函数是用来读取领域的纪录。此功能需要两个参数:结果的ODBC标识和一个外地号码或名字。

代码线以下的回报价值的第一次实地的记录:

 

$compname=odbc_result($rs,1);

代码线以下的回报价值的领域所谓的“公司名称” :

 

$compname=odbc_result($rs,"CompanyName");
 

闭幕的ODBC连接
该odbc_close ( )函数是用来关闭ODBC连接。

 

odbc_close($conn);
 

例如一个ODBC
下面的例子显示了如何首先创建一个数据库连接,然后结果集,然后显示数据的HTML表格。

 

<html>
<body>
<?php
$conn=odbc_connect('northwind','','');
if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";
while (odbc_fetch_row($rs))
{
  $compname=odbc_result($rs,"CompanyName");
  $conname=odbc_result($rs,"ContactName");
  echo "<tr><td>$compname</td>";
  echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
</body>
</html>
 
转载请注明来自: www.111cn.net/phper/php.html

phpmyadmin创建数据代码

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 *
 * @version $Id: db_create.php 10469 2007-06-29 14:22:48Z lem9 $
 */

/**
 * Gets some core libraries
 */
require_once './libraries/common.inc.php';
$js_to_run = 'functions.js';
require_once './libraries/mysql_charsets.lib.php';

PMA_checkParameters(array('db'));

/**
 * Defines the url to return to in case of error in a sql statement
 */
$err_url = 'main.php?' . PMA_generate_common_url();

/**
 * Builds and executes the db creation sql query
 */
$sql_query = 'CREATE DATABASE ' . PMA_backquote($db);
if (!empty($db_collation) && PMA_MYSQL_INT_VERSION >= 40101) {
    list($db_charset) = explode('_', $db_collation);
    if (in_array($db_charset, $mysql_charsets) && in_array($db_collation, $mysql_collations[$db_charset])) {
        $sql_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($db_collation);
    }
    unset($db_charset, $db_collation);
}
$sql_query .= ';';

$result = PMA_DBI_try_query($sql_query);

if (! $result) {
    $message = PMA_DBI_getError();
    // avoid displaying the not-created db name in header or navi panel
    $GLOBALS['db'] = '';
    $GLOBALS['table'] = '';
    require_once './libraries/header.inc.php';
    require_once './main.php';
} else {
    $message = $strDatabase . ' ' . htmlspecialchars($db) . ' ' . $strHasBeenCreated;
    require_once './libraries/header.inc.php';
    require_once './' . $cfg['DefaultTabDatabase'];
}
?>

大家知道,存储过程是在服务器端的一个脚本程序,执行起来速度很快,但它也有一个缺点,就是依靠与一个固定数据库,移植性不好!
我的上回文章,提到了用com组件是可以访问ado以及相关的组件,无论是自己建的还是系统带的,都可以扩展系统的功能,但现在php不支持dcom/com ,但相信它的下一个版本应该是支持的。
不说这么多了,我们马上试一下吧。

下面是我的一个简单的存贮过程
CREATE PROCEDURE [sp_mystoreprocedure] AS
select companyname, contactname, city from customers

其实,还可以写比较复杂的,可惜我对此研究不深,只好取简单了!

下面是我的php文件
<?
define ("OLEDB_CONNECTION_STRING",
"Provider=SQLOLEDB; Data Source=zzb; Initial Catalog=Northwind; User ID=sa; Password=");
$dbc = new COM("ADODB.Connection");
$dbc->Open(OLEDB_CONNECTION_STRING);
$command = "sp_mystoreprocedure";
$rs = $dbc->Execute($command); // Recordset
$i = 0;

echo '<table cellSpacing="1" cellPadding="3" width="600" align="center" bgColor="#000000" border="0">
<tr vAlign="bottom" bgColor="#9999cc">
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>';

while (!$rs->EOF) {
$i = 1;
$fld0 = $rs->Fields(0);
$fld1 = $rs->Fields(1);
$fld2 = $rs->Fields(2);
print '<tr vAlign="baseline" bgColor="#cccccc">
<td bgColor="#ccccff"><b>';
print $fld0->value;
print '</b><br></td>
<td align="middle">';
print $fld1->value;
print '</td><td align="middle">';
print $fld2->value;
print '</td></tr>';

$rs->MoveNext();
}
print '</TABLE>';

$rs->Close();
?>

注重的是,你的服务器必须打开!另外,就是不能写错存贮过程的名称。否则会出项致命的错误,而且,你根本就不知道错误在那里,这就是php文件对错误处理的不好之处,但相信它以后是会改进的。

我学php需然有很长时间了,但发现要真正用好它,不那么轻易,但它确实也超出了我的想象,有些东西真的很奇妙,真是,不用不知道,一用真奇妙!

4.据库连接
通过PHP你可以轻松的连接到数据库,请求数据并将其显示在你的web站点中,甚至修改数据库中的数据。MySQL是一种很流行的数据库,并且在互联网中有许多有关PHP与MySQL的教程。MySQL是免费的,这一点也许就吸引了不少人。由于其广泛应用,我就不想在这里赘述MySQL的使用方法了。Oracle被大量在企业应用中采用,因此我们就利用Oracle来介绍PHP与数据库的连接。我们当然不会提及Oracle数据库的设计原理,原因是这已经超出了我们的讨论范围。
PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。如前所述,你的PHP安装选项应该可以支持两者的使用。
想获得更多有关在Microsoft Windows平台上安装支持PHP3的Apache服务器的知识以及更多有关Oracle数据库的知识,请查阅以下URL:www.csoft.net/~vsbabu/articles/oraphp.html。

4.1 连接

<?
if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "<B>SUCCESS ! Connected to database<B> ";
}
else
{
echo "<B>Failed :-( Could not connect to database<B> ";
}
Ora_Logoff($conn);
phpinfo();
?>
以上代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。

4.2 查询

假设与数据库已经连接就绪,下面我们就来实际的应用对数据库的查询。下面的代码演示了一个连接并查询的典型例子:
<?
/*
* 连接数据库并执行查询
*/
function printoraerr($in_cur)
{
// 检查Oracle是否出错
// 假如存在错误则显示
// 当指针被激活时每次请求Oracle后调用该函数
if(ora_errorcode($in_cur))
echo "Oracle code - ".ora_error($in_cur)." ";
return;
}
/** 主程序 */
if (!($conn=ora_logon("user@TNSNAME","password")))
{
echo "Connection to database failed ";
exit;
}
echo "Connected as connection - <b>$conn</b><br> ";
echo "Opening cursor ...<br> ";
$cursor=ora_open($conn); printoraerr($cursor);
echo "Opened cursor - <b>$cursor</b><br> ";
$qry="select user,sysdate from dual";
echo "Parsing the query <b>$qry</b> ...<br> ";
ora_parse($cursor,$qry,0); printoraerr($cursor);
echo "Query parsed <br> ";
echo "Executing cursor ...<br> ";
ora_exec($cursor); printoraerr($cursor);
echo "Executed cursor<br> ";
echo "Fetching cursor ...<br> ";
while(ora_fetch($cursor))
{
$user=ora_getcolumn($cursor,0); printoraerr($cursor);
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo " row = <B>$user, $sysdate </B><br> ";
}
echo "Fetched all records<br> ";
echo "Closing cursor ...<br> ";
ora_close($cursor);
echo "Closed cursor<br> ";
echo "Logging off from oracle... <br> ";
ora_logoff($conn);
echo "Logged off from oracle <br> ";
?>
(译者注:以上代码段缺少注释,请读者参考PHP Manual的Oracle数据库函数部分)

4.3 显示结果

以下代码演示了怎样查询数据库并将结果输出:
<?
function printoraerr($in_cur, $conn)
{
// 检查Oracle是否出错
// 假如存在错误则显示
// 当指针被激活时每次请求Oracle后调用该函数
// If it encountered an error, we exit immediately
if(ora_errorcode($in_cur))
{
echo "Oracle code - ".ora_error($in_cur)."<br>n";
ora_logoff($conn);
exit;
}
return;
}

function exequery($w_qry,$conn)
{
$cursor=ora_open($conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);
ora_exec($cursor); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// 显示头部
echo "
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="1" CELLPADDING="2">
<TR> ";
for ($i=0;$i<$w_numcols;$i )
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
echo " <TH VALIGN=TOP ALIGN=$align>".ora_columnname($cursor,$i)."</TH> ";
}
echo "</TR> ";
while(ora_fetch($cursor))
{
echo "<TR> ";
for ($i=0;$i<$w_numcols;$i )
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo "<TD VALIGN=TOP ALIGN=$align><PRE>".
ora_getcolumn($cursor,$i)."</PRE></TD> ";
else
echo "<TD VALIGN=TOP ALIGN=$align>".ora_getcolumn($cursor,$i)."</TD> ";
printoraerr($cursor,$conn);
}
$numrows ;
echo "</TR> ";
}
if ($numrows==0)
echo "<TR><TD COLSPAN="$w_numcols"><B>Query returned no records
</B></TD></TR> ";
else
{
echo "<TR> ";
echo "<TH COLSPAN="".($w_numcols-1)."" ALIGN=RIGHT>Count</TH> ";
echo "<TH ALIGN=RIGHT>$numrows</TH> ";
echo "</TR> ";
}
echo "</TABLE> ";
ora_close($cursor);
return;
}

// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "Error: Cannot connect to database ";
exit;
}
$qry="SELECT
deptno "Dept"
,empno "Emp"

[!--infotagslink--]

相关文章

  • Pytorch 的损失函数Loss function使用详解

    今天小编就为大家分享一篇Pytorch 的损失函数Loss function使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-02
  • php提示 Warning: touch() [function.touch]: Utime failed: Permission denied in错误

    在使用php程序时提示Warning: touch() [function.touch]: Utime failed: Permission denied in错误,下面一起来看看此问题的解决办法。 使用timthumb.php出现Warni...2016-11-25
  • Warning: mssql_connect() [function.mssql-connect]:

    我是这样做的,确定mssql是正常的用户名密码也可以,但下面就是不行。 <?php教程 $con=mssql_connect( "localhost", "sa ", "123456 ") or die ('error'); ?>...2016-11-25
  • Java8通过Function获取字段名的方法(获取实体类的字段名称)

    Java8通过Function获取字段名。不用再硬编码,效果类似于mybatis-plus的LambdaQueryWrapper,对Java8通过Function获取字段名相关知识感兴趣的朋友一起看看吧...2021-09-29
  • php CURLOPT错误Warning: curl_setopt() [function.curl-setopt]:...

    在我们使用php curl函数时提示Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir...2016-11-25
  • 精读《Vue3.0 Function API》

    这篇文章主要介绍了精读《Vue3.0 Function API》,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-20
  • PHP MSSQL 分页实例

    这篇文章主要介绍了PHP MSSQL可刷新分页实例,以及PHP+MSSQL通用分页公式,感兴趣的小伙伴们可以参考一下...2016-04-15
  • Warning: mysql_num_rows():

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\myweb\lzlj\cn.php on line 23 问题是你的mysql_query()时的sql出现...2016-11-25
  • Warning: mssql_query() [function.mssql-query]:

    Warning: mssql_query() [function.mssql-query]: message: 不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本将 ntext 数据或仅使用 Unicode 排序规则的 Unicode 数据...2016-11-25
  • 备份mssql数据库的批处理

    给mssql降权了,但出现有个问题以前都是利用sql自带的作业来备份数据库,现在不行了....2016-01-27
  • Java8特性使用Function代替分支语句

    这篇文章主要介绍了Java8特性使用Function代替分支语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-09
  • iconv() [function.iconv]: Detected an illegal character in

    本文章来给大家介绍iconv() [function.iconv]: Detected an illegal character in 错误的几种解决办法,有需要了解的朋友可参考。 用iconv函数将gb2312转换为utf-8...2016-11-25
  • PHP Warning: implode() [function.implode]: Invalid

    今天在做一个小的采集发布接口时发现使用implode函数老提示出错,但在网上找了一下解决不了,后来仔细看一原因是写法错误了,当然因这个问题也学了不少东西下面给各位整理...2016-11-25
  • ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法

    本文主要介绍ASP.NET MVC中使用@Helper和@functons自定义一些代码片段,方便视图调用,从而达到减少重复代码,快速开发的目的,希望对大家有所帮助。...2021-09-22
  • Warning: mysql_fetch_array():

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in $connect=mysql_connect("localhost","root","123") or die("无法连接...2016-11-25
  • 怎么利用register_shutdown_function判断php程序是否执行完

    php中的异常捕获没有java的强大,有些情况下,需要知道某段php程序业务是否正常执行完,可以用register_shutdown_function函数来辅助实现。掌握此函数,对php学习又提高了一...2017-01-22
  • C/C++: Inline function, calloc 对比 malloc

    以下是对c/c++中的malloc函数与calloc函数的区别以及它们之间的联系进行了介绍,需要的朋友可以过来参考下...2020-04-25
  • 16种C语言编译警告(Warning)类型的解决方法

    由于编译的警告各种各样,根本不可以一一罗列出来,下面只是列举出比较典型的十六种警告,还有一些警告,大家只要根据字面意思,就可以很快的查找出来,并解决之。希望对大家有所帮助。...2020-04-25
  • php 5.3 闭包语法介绍 function() use() {}

    PHP 5.3 加入了闭包语法,也就是匿名函数,允许开发者申明行内函数和在变量中保存。虽然这个语法和JavaScript的闭包相比有点怪异,但是对于PHP语言来说,这是一个良好的补充...2016-11-25
  • Binary-safe function

    二进制安全功能是指在一个二进制文件上所执行的不更改文件内容的功能或者操作。这能够保证文件不会因为某些操作而遭到损坏。二进制数据是按照一串0和1的形式编码的。...2016-11-25