查询语句:
```
rows, err := mysqlDB.Query("SELECT * FROM `article` where `id` = ? ", 32);
```
相应函数为:
```
// Query via pool
func (p *SQLConnPool) Query(queryStr string, args ...interface{}) ([]map[string]interface{}, error) {
rows, err := p.SQLDB.Query(queryStr, args...)
if err != nil {
log.Println(err)
return []map[string]interface{}{}, err
}
defer rows.Close()
columns, _ := rows.Columns()
scanArgs := make([]interface{}, len(columns))
values := make([]interface{}, len(columns))
for i := range values {
scanArgs[i] = &values[i]
}
rowsMap := make([]map[string]interface{}, 0, 10)
for rows.Next() {
//将行数据保存到record字典
err = rows.Scan(scanArgs...)
rowMap := make(map[string]interface{})
for i, col := range values {
if col != nil {
rowMap[columns[i]] = string(col.([]byte))
}
}
rowsMap = append(rowsMap, rowMap)
}
if err = rows.Err(); err != nil {
return []map[string]interface{}{}, err
}
return rowsMap, nil
}
```
报错信息:
```
interface conversion: interface {} is int64, not []uint8
/usr/local/go/src/runtime/panic.go:491 (0x42b512)
gopanic: reflectcall(nil, unsafe.Pointer(d.fn), deferArgs(d), uint32(d.siz), uint32(d.siz))
/usr/local/go/src/runtime/iface.go:172 (0x40f9b6)
panicdottypeE: panic(&TypeAssertionError{iface.string(), haveString, want.string(), ""})
/root/go/src/github.com/fecshopsoft/golang-db/mysql/mysql.go:74 (0x92cda2)
(*SQLConnPool).Query: rowMap[columns[i]] = string(col.([]byte))
/root/go/src/github.com/fecshop/go_fec_api/handler/article.go:54 (0x92e475)
ArticleData.OneByUrlKey: _, _ = mysqlDB.Query("SELECT * FROM `article` where `id` = ? ", 32);
/root/go/src/github.com/fecshop/go_fec_api/router/router.go:42 (0x92fba3)
Begin.func2: handler.Article.OneByUrlKey(c, mysqlDB)
/root/go/src/github.com/gin-gonic/gin/context.go:107 (0x8e2812)
(*Context).Next: c.handlers[c.index](c)
/root/go/src/github.com/gin-gonic/gin/recovery.go:46 (0x8f4ab9)
RecoveryWithWriter.func1: c.Next()
/root/go/src/github.com/gin-gonic/gin/context.go:107 (0x8e2812)
(*Context).Next: c.handlers[c.index](c)
/root/go/src/github.com/gin-gonic/gin/logger.go:83 (0x8f3deb)
LoggerWithWriter.func1: c.Next()
/root/go/src/github.com/gin-gonic/gin/context.go:107 (0x8e2812)
(*Context).Next: c.handlers[c.index](c)
/root/go/src/github.com/gin-gonic/gin/gin.go:359 (0x8eb925)
(*Engine).handleHTTPRequest: c.Next()
/root/go/src/github.com/gin-gonic/gin/gin.go:326 (0x8eb0ba)
(*Engine).ServeHTTP: engine.handleHTTPRequest(c)
/usr/local/go/src/net/http/server.go:2619 (0x664903)
serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
/usr/local/go/src/net/http/server.go:1801 (0x660a4c)
(*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
/usr/local/go/src/runtime/asm_amd64.s:2337 (0x459790)
goexit: BYTE $0x90 // NOP
```
看报错信息明白个大概,但是不知道如何改,来消除报错。
你这种方式出来的数据是这个样子:
```
{
"data": [
{
"content": "a:7:{s:10:\"content_en\";s:4532:\"<p><span id=\"result_box\" lang=\"en\"><span title=\"Fecshop 全称为Fancy ECommerce Shop,是基于php Yii2框架之上开发的一款优秀的开源电商系统, 遵循OSL3.0开源协议,Fecshop支持多语言,多货币,架构上支持pc,手机web,手机app\">Fecshop called Fancy ECommerce Shop, is based on php Yii2 framework developed on a good open source electricity business system, follow OSL3.0 open source agreement, Fecshop support multi-language, multi-currency, architecture support pc, mobile phone, mobile app </span><span title=\",和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。\">, And erp docking and other entrances, you can quickly and easily customize and deploy your business system. </span><span title=\"预计到2017-05月份,完成appfront(pc前端web),appadmin(后台) 命令控制台这几个入口,目前appfront和appadmin功能已经打通,但是,系统的代码bug需要排查, 代码需要优化,不建议\">Expected to 2017 - 05 months, the completion of the appfront (pc front-end web), appadmin (background) command console these entries, the current appfront and appadmin function has been opened up, but the system code bug needs to be investigated, the code needs to be optimized, </span><span title=\"应用到生产环境,如果您一定要在生产环境中用,可以联系我,我会随时技术支持, Terry从事外贸电商6年来, 用了不少开源电商系统,譬如magento, 发现开源框架都有\">Apply to the production environment, if you must use in the production environment, you can contact me, I will always technical support, Terry engaged in foreign trade for six years, with a lot of open source electricity business system, such as magento, found open source framework </span><span title=\"一定的诟病,在并发方面差,后期扩展,业务发展后期重构难, 尤其是现在的移动端的发展,多入口的电商模式占据主流, 性能方面的要求越来越高,Fecshop基于Yii2的高效\">Some of the criticism, in the concurrency aspects of poor, late expansion, the late development of business development difficult, especially now the development of the mobile side, multi-entry electric business model to occupy the mainstream, performance requirements are getting higher and higher, Fecshop based on Yii2 efficient </span><span title=\"框架,在此基础上进一步封装,加入了service层和block层,数据库采用了nosql和mysql结合的方式, 关系型表放到mysql中,譬如优惠券,购物车,订单等, 非关系型数据表\">Framework, on the basis of further encapsulation, joined the service layer and the block layer, the database uses a combination of nosql and mysql way, relational table into mysql, such as coupons, shopping carts, orders, etc., non-relational data table </span><span title=\"(非关系型代表不会出现多表强事务类型操作) 放到mongodb中, 缓存用redis,搜索目前用的是mongodb的FullTextSearch功能, 支持一些主流语言的分词与搜索,不过目前中文搜索不支持分词\">(Non-relational type does not appear more than the form of strong transaction type operation) into mongodb, the cache with redis, search is currently using mongodb FullTextSearch function, support some of the mainstream language segmentation and search, but the current Chinese search does not support word segmentation </span><span title=\", 后期会扩展ElasticSearch来进行搜索(ElasticSearch有中文插件,安装后支持中文分词)。\">, Later will expand ElasticSearch to search (ElasticSearch Chinese plug-in, after the installation of Chinese words to support). </span><span title=\"总之,Fecshop目前的定位是为了让程序员们有一个方便学习,扩展,开发的电商框架系统, 如果您发现有哪些代码结构可以优化,调整,或者您有更加合理的建议,可以发送到邮箱\">In short, Fecshop's current positioning is to allow programmers to have a convenient learning, expansion, development of the electricity business framework system, if you find what code structure can be optimized, adjusted, or you have more reasonable advice can be sent to the mailbox </span><span title=\": 2358269014@qq.com。\">: 2358269014@qq.com.</span></span></p><p><span id=\"result_box\" lang=\"en\"><span title=\": 2358269014@qq.com。\"><img src=\"//img.fancyecommerce.com/media/upload/p/su/psu.jpg\" alt=\"\" /><br /></span></span></p>\";s:10:\"content_fr\";s:4735:\"<span id=\"result_box\" lang=\"fr\"><span title=\"Fecshop 全称为Fancy ECommerce Shop,是基于php Yii2框架之上开发的一款优秀的开源电商系统, 遵循OSL3.0开源协议,Fecshop支持多语言,多货币,架构上支持pc,手机web,手机app\">Fecshop appelé Fancy ECommerce Shop, est un système open source basé sur le cadre Yii2 fournisseur d'électricité de php pour le développement d'un protocole open source excellente OSL3.0 de suivi, Fecshop support multi-langue, multi-devises, support pour PC, téléphone mobile web, app de téléphone sur l'architecture </span><span title=\",和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。\">et l'entrée erp d'accueil, vous pouvez rapidement personnaliser et déployer la partie libre de votre système de fournisseur d'électricité. </span><span title=\"预计到2017-05月份,完成appfront(pc前端web),appadmin(后台) 命令控制台这几个入口,目前appfront和appadmin功能已经打通,但是,系统的代码bug需要排查, 代码需要优化,不建议\">Horaires 2017--05 mois, appfront complète (pc frontal Web), appadmin (arrière-plan) console de commande que plusieurs entrées, et est actuellement fonction de appadmin appfront a été ouvert, cependant, le système a besoin pour résoudre le code bug, le code doit être optimisé, pas recommandé </span><span title=\"应用到生产环境,如果您一定要在生产环境中用,可以联系我,我会随时技术支持, Terry从事外贸电商6年来, 用了不少开源电商系统,譬如magento, 发现开源框架都有\">appliquée à l'environnement de production, si vous devez utiliser dans un environnement de production, vous pouvez me contacter, je vais garder le soutien technique, Terry engagé dans le fournisseur d'électricité du commerce extérieur en six ans, avec beaucoup d'open-source système de fournisseur d'électricité, par exemple, magento, framework open source a trouvé </span><span title=\"一定的诟病,在并发方面差,后期扩展,业务发展后期重构难, 尤其是现在的移动端的发展,多入口的电商模式占据主流, 性能方面的要求越来越高,Fecshop基于Yii2的高效\">certaines critiques, en termes de la différence entre simultanée, post-expansion, le développement des affaires, post-reconstruction difficile, surtout maintenant que le développement de terminal mobile, les fournisseurs d'entrée électricité multi-mode occupent le grand public, les exigences de performance de plus en plus élevés, Fecshop sur la base du Yii2 efficace </span><span title=\"框架,在此基础上进一步封装,加入了service层和block层,数据库采用了nosql和mysql结合的方式, 关系型表放到mysql中,譬如优惠券,购物车,订单等, 非关系型数据表\">cadre, sur la base d'une nouvelle encapsulé à se joindre à la couche de service et la couche de bloc, la base de données utilise une combinaison de nosql et mysql, tables mysql relationnelles placés dans, par exemple, des coupons, panier, commander, table de données non relationnelle </span><span title=\"(非关系型代表不会出现多表强事务类型操作) 放到mongodb中, 缓存用redis,搜索目前用的是mongodb的FullTextSearch功能, 支持一些主流语言的分词与搜索,不过目前中文搜索不支持分词\">(représentants non-relationnelles ne sera pas un multi-table fortement opération de type de transaction) dans mongodb, le cache avec Redis, recherche actuellement en utilisant mongodb de FullTextSearch propose le support principal de recherche de mot de la langue, mais le courant Recherche chinois ne prend pas en charge mot </span><span title=\", 后期会扩展ElasticSearch来进行搜索(ElasticSearch有中文插件,安装后支持中文分词)。\">, celui-ci étendra ElasticSearch à la recherche (ElasticSearch un bouchon chinois après support d'installation mot chinois). </span><span title=\"总之,Fecshop目前的定位是为了让程序员们有一个方便学习,扩展,开发的电商框架系统, 如果您发现有哪些代码结构可以优化,调整,或者您有更加合理的建议,可以发送到邮箱\">En bref, la position actuelle Fecshop est de permettre aux programmeurs d'avoir un facile à apprendre, l'expansion et le développement du système de cadre de fournisseur d'électricité, si vous voyez ce que vous pouvez optimiser la structure du code, le réglage, ou si vous avez une proposition plus raisonnable peut être envoyé à la boîte aux lettres </span><span title=\": 2358269014@qq.com。\">: 2358269014@qq.com.</span></span>\";s:10:\"content_de\";s:0:\"\";s:10:\"content_es\";s:0:\"\";s:10:\"content_ru\";s:0:\"\";s:10:\"content_pt\";s:0:\"\";s:10:\"content_zh\";s:1984:\"Fecshop 全称为Fancy ECommerce Shop,是基于php Yii2框架之上开发的一款优秀的开源电商系统,遵循OSL3.0开源协议,Fecshop支持多语言,多货币,架构上支持pc,手机web,手机app,和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。预计到2017-05月份 ,完成appfront(pc前端web),appadmin(后台)命令控制台 这几个入口 ,目前appfront和appadmin功能已经打通,但是,系统的代码bug需要排查,代码需要优化,不建议应用到生产环境,如果您一定要在生产环境中用,可以联系我,我会随时技术支持,Terry从事外贸电商6年来, 用了不少开源电商系统,譬如magento,发现开源框架都有一定 的诟病,在并发方面差,后期扩展,业务发展后期重构难, 尤其是现在的移动端的发展,多入口的电商模式占据主流, 性能方面的要求越来越高,Fecshop基于Yii2的高效框架,在此基础上进一步封装,加入了service层和block层,数据库采用了nosql和mysql结合的方式, 关系型表放到mysql中,譬如优惠券,购物车,订单等, 非关系型数据表(非关系型代表不会出现多表强事务类型操作) 放到mongodb中,缓存用redis,搜索目前用的是mongodb的FullTextSearch功能,支持一些主流语言的分词与搜索,不过目前中文搜索不支持分词,后期会扩展ElasticSearch来进行搜索(ElasticSearch有中文插件,安装后支持中文分词)。总之,Fecshop目前的定位是为了让程序员们有一个方便学习,扩展,开发的电商框架系统,如果您发现有哪些代码结构可以优化,调整,或者您有更加合理的建议,可以发送到邮箱:2358269014@qq.com。<p><span id=\"result_box\" lang=\"en\"><span title=\": 2358269014@qq.com。\"><img src=\"//img.fancyecommerce.com/media/upload/p/su/psu.jpg\" alt=\"\" /><br /></span></span></p>\";}",
"created_at": {
"Int64": 1489676914,
"Valid": true
},
"created_user_id": {
"Int64": 2,
"Valid": true
},
"id": 32,
"meta_description": "a:7:{s:19:\"meta_description_en\";s:0:\"\";s:19:\"meta_description_fr\";s:0:\"\";s:19:\"meta_description_de\";s:0:\"\";s:19:\"meta_description_es\";s:0:\"\";s:19:\"meta_description_ru\";s:0:\"\";s:19:\"meta_description_pt\";s:0:\"\";s:19:\"meta_description_zh\";s:0:\"\";}",
"meta_keywords": "a:7:{s:16:\"meta_keywords_en\";s:8:\"about us\";s:16:\"meta_keywords_fr\";s:0:\"\";s:16:\"meta_keywords_de\";s:0:\"\";s:16:\"meta_keywords_es\";s:0:\"\";s:16:\"meta_keywords_ru\";s:0:\"\";s:16:\"meta_keywords_pt\";s:0:\"\";s:16:\"meta_keywords_zh\";s:0:\"\";}",
"status": {
"Int64": 1,
"Valid": true
},
"title": "a:7:{s:8:\"title_en\";s:8:\"about us\";s:8:\"title_fr\";s:0:\"\";s:8:\"title_de\";s:0:\"\";s:8:\"title_es\";s:0:\"\";s:8:\"title_ru\";s:0:\"\";s:8:\"title_pt\";s:0:\"\";s:8:\"title_zh\";s:12:\"关于我们\";}",
"updated_at": {
"Int64": 1491903445,
"Valid": true
},
"url_key": "/about-us"
}
],
"status": 200,
"url_key": "/about-us"
}
```
数据都改了,譬如:
```
"status": {
"Int64": 1,
"Valid": true
},
```
#10
更多评论
你阔以参考一下这个: https://github.com/zengming00/go-server-js/blob/master/test/sql.go
#1