php - PHP PDO 参数号无效。尽管所有参数都已设置
问题描述
我正在创建一个 PHP 应用程序,它将编译一个计算机列表。该列表将动态生成。因此,我正在尝试将数据插入 MYSQL 数据库。除非发生错误,否则下面的代码并非旨在向用户提供响应。
我收到错误消息:
警告:PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match the number of tokens in C:\xampp\htdocs\netman\connect.php on line 39
我的代码是:
$stmt = $db->prepare("UPDATE bots SET compName=':compName', username=':username',
ramTotal=':ram', vendor=':vendor', IP=':IP', last=NOW() WHERE machineID = :machID");
$stmt->execute([
"machID" => $_GET['machineID'],
"compName" => $_GET['compName'],
"username" => $_GET['user'],
"vendor" => $_GET['vendor'],
"ram" => $_GET['memory'],
"IP" => $_SERVER['REMOTE_ADDR']
]);
解决方案
我犯的愚蠢错误:
您不要将绑定变量值放在引号中 compName=:compName – @RaymondNijland
新代码:
$stmt = $db->prepare("UPDATE bots SET compName=:compName, username=:username,
ramTotal=:ram, vendor=:vendor, IP=:IP, last=NOW() WHERE machineID = :machID");
$stmt->execute([
"machID" => $_GET['machineID'],
"compName" => $_GET['compName'],
"username" => $_GET['user'],
"vendor" => $_GET['vendor'],
"ram" => $_GET['memory'],
"IP" => $_SERVER['REMOTE_ADDR']
]);
谢谢你
推荐阅读
- django - 在 Django 中处理自定义错误页面(404、500)
- server - Netty客户端连接服务器,但服务器不触发channelActive/Registered
- javascript - 锚链接不能在 iPad 上工作,但在 iPhone 上工作
- react-native - 使用 redux 在 react-native 组件之间传递数据
- javascript - 选择字段上的 Bootstrap 4 验证问题
- c - 在树莓派上安装 mqtt 客户端库
- sql - 具有最大值的增量变量的 SQL JOIN 表数据
- reactjs - Formik 选择标签作为占位符
- r - 如何更改以特定字符开头的列的所有字符值?
- vim - 在 Vim ex 命令中使用星搜索结果(超级星)