• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于smarty取oracle数据数组后传递时,只取每个字段第一个字符的问题

php 搞代码 4年前 (2022-01-23) 14次浏览 已收录 0个评论
文章目录[隐藏]

我刚接触smarty,在获取oracle数据以后,传递时发现只取每个字段的第一个字符,而且还是乱码。

代码如下:
smarty.php

<?phpinclude 'ora/oraconn.php';   $dRootDir = '../../';      require_once($dRo<div style="color:transparent">本&文来源gaodai^.ma#com搞#代!码网</div><strong>搞gaodaima代码</strong>otDir . '_config.php');   require_once($dRootDir . 'inc/params.php');    require_once($dRootDir . 'inc/classes/db.php');   require_once($dRootDir . 'inc/classes/template.php');   require_once($dRootDir . 'inc/classes/util.php');      $tpl = new Template($gTemplate);Util::gpc();$sql="SELECT bpcnum_0 as BPCNUM,bpcnam_0 AS BPCNAM from bpcustomer where rownumassign('ssss',$array);	$tpl->assign("News_CH", $array);	unset($array);	$tpl->display('smarty.tpl');?>

以下是smarty.tpl

<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#B9E9FF"><tr> <td height="115" width="10"></td><td valign="top" width="295" bgcolor="#B9E9FF">{--section name=customer loop=$News_CH--}<li>{--$News_CH[customer].BPCNAM--}</li>{--/section--}</td></tr></table>

请高手不吝赐教,哪里出了问题。谢谢!

回复讨论(解决方案)

先不管 smarty
在 $array = oci_fetch_array($stmt, OCI_BOTH);之后
print_r($array);
看看都是些什么

谢谢 xuzuning秒回,显示出来的结果一切正常,中文显示没有乱码,现在是传递到smarty.tpl上出现乱码,而且每个字段值出现第一个字符。

最好给我看看

就是这个效果

如果我自定义一个array,传递数据不会乱码,但是从Oracle数据库读取的话,就会出现上述问题!

我要看到你从数据库读出的数据!

按 oci_fetch_array($stmt, OCI_BOTH) 应该是下标数组
那么 $News_CH[customer].BPCNUM 就是错的

但需要看到数据才能确定

在smarty.php 中 print_r($array);exit(); 看看是什么结果。

可能你输出的不是一个正常的数组,看下输出的数据有没有问题;

谢谢各位的帮助,是我的数组有问题。
后来用mysql测试了一下,是数组赋值错了,用一下代码就解决了。

$query_sql = "SELECT * FROM mc_admingroups";        //执行查询语句  返回一个结果集        $query_res = mysql_query($query_sql,$conn);        $array=array();           while ($row = mysql_fetch_array($query_res, MYSQL_ASSOC))           {               $array[] = $row;           }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于smarty取oracle数据数组后传递时,只取每个字段第一个字符的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址