__prepera_format在Mysql和SqlServer中的不同表现
发布于:2022-01-17 09:50:54
#1 richard
我有个关于__prepera_format的问题。
框架在mysql数据库下运行正常,我切换至sqlserver后,连接数据库正常,但调用模型类的create时返回false.
我跟踪到create内部,发现其内部调用__prepera_format后返回值($row)为null。
jake,这个问题如何解决呢?
大家有没有遇到同样的问题呢?
我是新手,希望得到指教!谢谢
以下是我的代码:
$guestbook = spClass("guestbook");
$newrow = array
(
'name' => $this->spArgs('name'),
'title' => $this->spArgs('title'), // 从spArgs获取到表单提交上来的title
'contents' => $this->spArgs('contents')
);
if($guestbook->create($newrow))
{
echo "Leave msg OK,Back";
}
else
{
echo "Leave msg failed,Back";
}
2010-06-17 10:13:02
#2 azwl
回复 1 richard 我找了一下mssql的代码,好像是有问题!
/**
* 获取数据表结构
*
* @param tbl_name 表名称
*/
public function getTable($tbl_name)
{
$result = $this->getArray("SELECT syscolumns.name FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND syscolumns.id = object_id('{$tbl_name}')");
$columns = array();
foreach( $result as $column )$columns[] = array('Field'=>$column);
return $columns;
}
2010-06-17 11:07:35
#3 richard
这个我调试过程中在__prepera_format函数中发现的不同(foreach中的$col结构不同),截图如下:
Sqlserver:

Mysql:
2010-06-17 11:16:36
#4 azwl
问题应该出在这句:
$columns[] = array('Field'=>$column);
顺便问题一下,用时用的哪个IDE?
2010-06-17 11:59:08
#5 jake
mark
2010-06-17 12:33:11
#6 richard
to azwl, 我使用的是zend studio 5.5
to jake, 这个是sp的问题吗,还是我程序的问题,附,我的数据库连接:
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
define("APP_PATH",dirname(__FILE__));
$spConfig = array
(
'db' => array
(
'driver' => 'mssql', // 驱动类型
'host' => 'localhost', // 数据库链接字符串
'login' => 'sa', // 用户名
'password' => '123456', // 密码
'database' => 'test', // 库名称
'prefix' => '', // 表前缀
'persistent' => FALSE, // 是否使用长链接
),
'db_driver_path' => SP_PATH.'/Drivers/mssql.php',
'view' => array(
'enabled' => TRUE, // 开启视图
'config' =>array(
'template_dir' => APP_PATH.'/tpl', // 模板目录
'compile_dir' => APP_PATH.'/tmp', // 编译目录
'cache_dir' => APP_PATH.'/tmp', // 缓存目录
'left_delimiter' => '<{', // smarty左限定符
'right_delimiter' => '}>', // smarty右限定符
),
)
);
require(SP_PATH."/SpeedPHP.php");
spRun();
2010-06-17 14:56:11
#7 azwl
不好意思,源代码没有好好看。我前面的回复不对。sorry!!
2010-06-17 16:29:49
#8 richard
我下载了svn上最新的sp, 问题已经解决,谢谢各位关注,谢谢jake的及时更新。
2010-06-17 18:01:51