php pdo参数号无效尽管所有参数都已设置

g0czyy6m  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(340)

我正在创建一个php应用程序,它将编译一个计算机列表。此列表将动态生成。因此,我尝试将数据插入mysql数据库。除非发生错误,否则下面的代码不会向用户提供响应。
我得到一个错误:
警告:pdostatement::execute():sqlstate[hy093]:无效参数号:绑定变量的数量与第39行的c:\xampp\htdocs\netman\connect.php中的令牌数量不匹配
我的代码是:

$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']
            ]);
acruukt9

acruukt91#

我犯了个愚蠢的错误:
不能将绑定变量值放在引号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']
            ]);

谢谢您

相关问题