为了账号安全,请及时绑定邮箱和手机立即绑定

php中通过pdo插入数据时,sql语句错误?

php中通过pdo插入数据时,sql语句错误?

PHP
浮云间 2019-03-18 18:10:39
再次先谢谢各位大佬!!接下来直接看代码:<?php include 'mysql_ini.php'; $sql_select = "select * from word where word = ?"; $sql_inset = "insert into word(word,explain) values('ssss','sss')"; $word = 'passwor'; $explain = '密码'; try{ $stmt_select = $pdo -> prepare($sql_select); $stmt_select -> setFetchMode(PDO::FETCH_ASSOC); $stmt_select -> execute(array($word)); $rows_select = $stmt_select -> fetchAll(); if($rows_select){ $error = '该单词已存在!'; echo $error; }else{ $stmt_insert = $pdo -> prepare($sql_inset); $stmt_insert -> execute(array($word,$explain)); $rows_insert = $stmt_insert -> rowCount(); echo $rows_insert; } }catch(PDOException $e){ } ?> 如上代码所示:$sql_inset变量中的SQL语句如果像上面那样则无法插入数据,但如果去除指定列名(改为:insert into word values('ssss','sss')),则可以正确插入数据;下面是我的表结构:
查看完整描述

5 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

explain是关键词,不适合当字段名,可能是这个导致错误。尝试在explain两边加上这个`,不是单引号,是键盘上方数字键一行最左边的那个按键。

查看完整回答
反对 回复 2019-03-18
?
慕森王

TA贡献1777条经验 获得超3个赞

我没记错的话 表明和列名中间应该有空格,你加空格看下。入过不行你再把id 列加上,应该就可以了,以前没遇到过这种问题

查看完整回答
反对 回复 2019-03-18
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

insert into word('word','explain') values('ssss','sss')

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 558 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信