我想在mysql数据库中查询一个表的值IN:
var qids []int
//fill qids dynamically
err = database.SQL.Select("es,
"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)
我怎样才能解决这个问题?
这是代码:
<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
我知道如何发布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进行多部分表单发送的。
我正在尝试将“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)
我怎样才能解决这个问题?
我已经安装了我的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版本 …
我正在使用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查询示例,但找不到任何查询.所以想知道如何解决这个问题?
对于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个字符的字母数字标记的最佳方法是什么?
我在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得到同样的错误.
这有什么不对?我该如何解决?
我想为 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 中实现这一点?
我查看了文档示例,但不知道该怎么做
使用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,尽管事实上没有行。
这里可能有什么问题,我该如何解决?