> 백엔드 개발 > PHP 튜토리얼 > Zend Framework中insert时是组合的?小弟我的sql一直有有关问题。supportsParameters是什么意思

Zend Framework中insert时是组合的?小弟我的sql一直有有关问题。supportsParameters是什么意思

WBOY
풀어 주다: 2016-06-13 10:17:34
원래의
870명이 탐색했습니다.

Zend Framework中insert时是组合的?我的sql一直有问题。supportsParameters是什么意思?
我在Controller中:
$table = new Model_Users();
$dd = array('username'=>$username,'password'=>md5($password),'name'=>$name,'email'=>$email,
  'reg_time'=>date("Y-m-d H:m:s",time()),'ipaddr'=>$_SERVER['REMOTE_ADDR']);
$test = $table->insert($dd);
然后一直有错误,我跟踪后发现在zend_db_adapter_abstract 中的public function insert($table, array $bind) 中我的sql
在$this->supportsParameters('positional') 时全部把表中的值设为了“?”,请问这个函数的意思是什么?
是不是数据库的配置的问题?
代码:zend_db_adapter_abstract 中549cell.


------解决方案--------------------
你先查看 $this->supportsParameters('positional') 返回的值
最好贴出了来

再检查你准备赋值的变量是否与 ? 个数一致,赋值时的变量名是否与对应的字段名一致
------解决方案--------------------
1.根据你的Db Adapter, ZendDB有可能是调用了mysqli 或者 pdo mysql, 这两个扩展里都有bind操作的函数,然后代码就运行到了该函数的c部分啊
2.不是error-log,是mysql的log, 一般来说my.cnf里可能没有开启, 
参看这里: http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/

探讨

楼上,谢谢,顺利解决,通过try catch,这里有两个问题不太明白,望指教!
1. 这里是怎么条用底层的c的?可有简单的例子?
2. 我去mysql中找log,show error-log,但我这里好像什么都看不见?

谢谢!
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿