Mysql错误无效的参数编号:未定义参数
这是我的密码。我无法执行它 这是我在Mysql错误无效的参数编号:未定义参数,mysql,pdo,Mysql,Pdo,这是我的密码。我无法执行它 这是我在$db->execute()上得到的错误消息行: SQLSTATE[HY093]:参数编号无效:未定义参数' 我所要做的就是在结束双引号之前在第2行添加一个空格 这就是添加空白前后查询的外观 在此之前-“更新网关设备设置coin\u lat=:coin\u lat,coin\u lng=:coin\u lngWHEREnick\u name=:nick\u name AND gateway\u id=:g\u id AND device\u id=:d\u i
$db->execute()上得到的错误消息代码>行:
SQLSTATE[HY093]:参数编号无效:未定义参数'
我所要做的就是在结束双引号之前在第2行添加一个空格
这就是添加空白前后查询的外观
在此之前-“更新网关设备设置coin\u lat=:coin\u lat,coin\u lng=:coin\u lngWHEREnick\u name=:nick\u name AND gateway\u id=:g\u id AND device\u id=:d\u id”
“更新网关设备设置coin\u lat=:coin\u lat,coin\u lng=:coin\u lng WHEREnick\u name=:nick\u name AND gateway\u id=:g\u id AND device\u id=:d\u id”如果您打印出$query
,您就会明白它为什么不起作用。我认为在一个构造的查询中缺少空格是一个排版错误,然后投票结束。“GordonLinoff非常感谢,这是一个简单的空格问题。现在可以了。
$query = "UPDATE gateway_devices "
."SET coin_lat=:coin_lat, coin_lng=:coin_lng"
."WHERE nick_name=:nick_name AND gateway_id=:g_id AND device_id=:d_id";
$db->query($query);
$db->bind(':coin_lat', $coin_lat);
$db->bind(':coin_lng', $coin_lng);
$db->bind(':nick_name', $nick_name);
$db->bind(':g_id', $g_id);
$db->bind(':d_id', $d_id);
$db->execute();