小编Kar*_*lom的帖子

如何使用sqlx在一个切片中查询mysql?

我想在mysql数据库中查询一个表的值IN:

var qids []int
//fill qids dynamically
err = database.SQL.Select(&quotes,
    "SELECT * FROM quote WHERE qid IN $1", qids)
if err != nil {
    log.Println(err)
}
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

sql: converting Exec argument #0's type: unsupported type []int, a slice
quotes []
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

mysql go sqlx

5
推荐指数
1
解决办法
6959
查看次数

如何在 vue.js 中获取点击项目的文本值?

这是代码:

<li v-for="u in usersList">
    <strong><a class="username" @click="openChatbox">${ u } </a></strong>
</li>
Run Code Online (Sandbox Code Playgroud)

及处理方法:

openChatbox: function() {
    target = event.target || event.srcElement;
     this.isOpen = !this.isOpen;
     this.recepient = target.innerHTML
}, 
Run Code Online (Sandbox Code Playgroud)

问题是这个方法的设置recepient就像value 为 时<strong>noob</strong>一样。我怎样才能得到唯一?unoobnoob

javascript vue.js

5
推荐指数
1
解决办法
3669
查看次数

如何在Postman中将文件和json数据一起发布?

我知道如何发布json,也知道如何在Postman中以多部分形式发布文件。但是我怎么能一起做。例如:

这是我的杰森要发布的内容:

{
    "title": "Post title yeah",
    "body": "My first post body"

}
Run Code Online (Sandbox Code Playgroud)

那么,如何与上述json一起发布image.jpg位于/home/me/Desktop

更新:请注意,我想这样使用JSON发送文件,所以我的问题与不同,后者是有关使用Postman进行多部分表单发送的。

json postman

5
推荐指数
1
解决办法
6431
查看次数

如何在方法函数中将参数传递给 vue.js 路由器?

我正在尝试将“joke.id”作为参数发送到路由器:

edit: function(joke) {
    this.$router.push({ '/edit/' + joke.id }); 
}
Run Code Online (Sandbox Code Playgroud)

相关路线是:

{path: '/edit/:id', component: editJoke, name: 'editJoke'},
Run Code Online (Sandbox Code Playgroud)

但是我在控制台中得到了这个:

模块构建失败:语法错误:意外的令牌

this.$router.push({ '/edit/' + joke.id }); 
  |                          ^
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

javascript vue.js vue-router

5
推荐指数
2
解决办法
1万
查看次数

突然转到工具:没有这样的工具"编译"

我已经安装了我的Ubuntu桌面,它在我关闭计算机之前工作正常.

现在,当我启动我的机器并重新开始我的项目工作时,我得到了这个

$ go build
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"
Run Code Online (Sandbox Code Playgroud)

当我尝试建立一个项目时.

我在断电之前做的唯一可能有一些影响的事情是安装godoc使用

sudo apt-get install golang-doc
Run Code Online (Sandbox Code Playgroud)

我已经通过下载go1.10.1.linux-amd64.tar.gz文件直接安装,而不是使用apt-get

去环境

GOARCH="amd64"
GOBIN=""
GOCACHE="/home/me/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/me/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build255010769=/tmp/go-build -gno-record-gcc-switches"
Run Code Online (Sandbox Code Playgroud)

$ go版本 …

go

5
推荐指数
2
解决办法
3722
查看次数

如何在Go中的sqlx查询中使用通配符?

我正在使用sqlx与mysql数据库,并希望查询author表中以某些字母开头的名称.这是查询:

sqlx.DB.Select(&authors, "SELECT * FROM author WHERE first_name LIKE ?% OR last_name LIKE ?%", letter,letter)
Run Code Online (Sandbox Code Playgroud)

但我明白了

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'%OR last_name LIKE?%'附近使用正确的语法

我查看了文档中的LIKE查询示例,但找不到任何查询.所以想知道如何解决这个问题?

go sqlx

4
推荐指数
1
解决办法
1511
查看次数

如何在Golang中生成唯一的随机字母数字标记?

对于RESTful后端API,我想生成用于验证用户身份的唯一 URL令牌.

注册时提供的用于生成令牌的唯一数据是电子邮件地址.但是在生成令牌并将其发送给用户之后,我不需要解密收到的令牌以获取电子邮件或其他信息.因此加密可以是单向的.

最初我用bcrypt这样做:

func GenerateToken(email string) string {
    hash, err := bcrypt.GenerateFromPassword([]byte(email), bcrypt.DefaultCost)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("Hash to store:", string(hash))

    return string(hash)

}
Run Code Online (Sandbox Code Playgroud)

但由于令牌作为url参数(如/api/path/to/{token}),我不能使用bcrypt,因为它生成包含/这样的标记:

"$2a$10$NebCQ8BD7xOa82nkzRGA9OEh./zhBOPcuV98vpOKBKK6ZTFuHtqlK"

这将打破路由.

所以我想知道在Golang中根据电子邮件生成一些独特的16-32个字符的字母数字标记的最佳方法是什么?

token go

4
推荐指数
3
解决办法
5012
查看次数

Vuex:无法读取未定义的属性'$ store'

我在vue.js中建立了一个商店,可以访问compoenent的计算部分中的状态参数:

computed: {
    BASE_URL () {
    return this.$store.state.BASE_URL;  
  }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在同一组件的方法中访问商店时:

  methods: {

    register: function () {
          axios.post( this.BASE_URL + "/web/register", {
          username: this.username,
          password: this.password,
          email: this.email
        }).then(function(data){
          this.$store.commit('saveToken', data.token);
          console.log('token is set to:',  this.$store.state.token)
        });
    }  
 },
Run Code Online (Sandbox Code Playgroud)

我在控制台上收到此错误:

未捕获(承诺)TypeError:无法读取未定义的属性'$ store'

我也试过但$store没有this得到同样的错误.

这有什么不对?我该如何解决?

javascript vue.js vuex

4
推荐指数
1
解决办法
1万
查看次数

如何使用 redigo 设置 redis 密钥超时?

我想为 redis 键/值对添加超时,以便它们在 10 分钟后过期。

这是函数

func setData(value string) {
    conn, err := redis.Dial("tcp", "localhost:6379", redis.DialDatabase(1))
    if err != nil {
        log.Fatalf("Could not connect: %v\n", err)
    }
    defer conn.Close()

    conn.Do("SET", "mykey", value)
}
Run Code Online (Sandbox Code Playgroud)

我希望 redigo 这样做:

redis 127.0.0.1:6379> SETEX "mykey" 600 value
Run Code Online (Sandbox Code Playgroud)

我想知道如何在 redigo 中实现这一点?

我查看了文档示例,但不知道该怎么做

go redis redigo

4
推荐指数
1
解决办法
2866
查看次数

如何使用sqlx检查行是否存在?

使用sqlx,我想知道查询 MySql 数据库以了解对 MySql 的查询是否返回空行:

所以在这个之后,我想出了

var result model.Post
err := database.SQL.Get(&result, "SELECT * FROM post WHERE post_id=? AND user_id=? LIMIT 1", postID, userID)
if err == sql.ErrNoRows { 
    log.Println(err)
    log.Println("post not found")
} else { 
    log.Println("post found")
}
Run Code Online (Sandbox Code Playgroud)

但我总是得到post found,尽管事实上没有行。

这里可能有什么问题,我该如何解决?

mysql go sqlx

3
推荐指数
1
解决办法
3653
查看次数

标签 统计

go ×6

javascript ×3

sqlx ×3

vue.js ×3

mysql ×2

json ×1

postman ×1

redigo ×1

redis ×1

token ×1

vue-router ×1

vuex ×1