mysql – SQLSTATE [HY000]:常规错误:1366不正确的整数值:

$order = new Application_Model_DbTable_Order();

$orderno = $order->select()
->from($order,'orderno')
->where('memberid = ?',$userid)
->order('orderno DESC')
->limit(1,0);

sqlSTATE[HY000]: General error: 1366 Incorrect integer value: ‘SELECT ordertable.orderno FROM ordertable WHERE (memberid = ’30’) ORDER BY orderno DESC LIMIT 1′ for column ‘orderno’ at row 1

得到了这个错误,我想知道我的代码是否有任何问题,因为我已经到处搜索原因,但似乎没有找到任何帮助.

#sql code for Ordertable#
`orderno` int(5) NOT NULL AUTO_INCREMENT,`memberid` int(5) DEFAULT NULL,PRIMARY KEY (`orderno`)

#sql code for Item#
`itemid` int(5) NOT NULL AUTO_INCREMENT,`image` varchar(100) NOT NULL,`itemname` varchar(30) DEFAULT NULL,`description` varchar(100) DEFAULT NULL,`itemtype` varchar(20) DEFAULT NULL,PRIMARY KEY (`itemid`)

#sql code for Orderdetail#
`orderdetailno` int(5) NOT NULL AUTO_INCREMENT,`orderno` int(5) NOT NULL,`itemid` int(5) NOT NULL,`unitcost` decimal(6,2) DEFAULT NULL,PRIMARY KEY (`orderdetailno`),KEY `orderno` (`orderno`),KEY `itemid` (`itemid`)

这是我的sql代码,如果它有助于我使用MysqL.

$request = new Zend_Session_Namespace('cart');

$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();
$userid = $user->userid;

$order = new Application_Model_DbTable_Order();
$itemdb = new Application_Model_DbTable_Item();
$orderdetail = new Application_Model_DbTable_Orderdetail();

$data = array ('memberid' => $userid);
$order->insert($data);

$orderno = $order->select()
->from($order,0);


foreach ($request->array as $var)
{
$unitprice = $itemdb->select()
->from('$itemdb','unitcost')
->where('itemid = ?',$var);

$newArray = array('orderno' => $orderno,'itemid' => $var,'unitcost' => $unitprice,);

$orderdetail->insert($newArray);                    
}

任何指导将非常感谢.

最佳答案
https://stackoverflow.com/a/8882396/1432614,运行

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

如果要么包含STRICT_TRANS_TABLES,请将其从设置中删除.

例如:

SET @@GLOBAL.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...