首页 > 解决方案 > jquery ajax - invalid parametar number

问题描述

What is wrong here:

function del_lc() {
    let la = $('#sela option:selected').text().toLowerCase();
    let lb = $('.lbact').text();
    let lc = $('.lcact').text();
    let lcid = $('.lcact').attr('data-id');
    let story = $('#storytxt').val();
    var fn = 'del_lc';
    $.post('index-pro.php', {la, lb, lc, lcid, story, fn}, function(data) {
        console.log(data);
    }); 
}

php

extract($_POST);
$sql = "insert into rec (what, la, lb, lc, story) values (:awhat, :ala, :alb, :alc, :astory)";
$st = $db->prepare($sql);
$st->execute(array(
    ":awhat" => 'lc',
    ":ala" => $_POST['la'],
    ":alb" => $_POST['lb'],
    ":alc" => $_POST['lc'],
    ":story" => $_POST['story']  // line 184
));
$sql = "delete from lc where id = :aid";
$st = $db->prepare($sql);
$st->execute(array(
    ":aid" => $_POST['lcid']
));

Fatal error - Invalid parameter number: parameter was not defined in D:\code\s00\index-pro.php:184.

Any help?

标签: javascriptphpmysql

解决方案


You made an error at line 184 Use the code below instead:

extract($_POST);
$sql = "insert into rec (what, la, lb, lc, story) values (:awhat, :ala, :alb, :alc, :astory)";
$st = $db->prepare($sql);
$st->execute(array(
    ":awhat" => 'lc',
    ":ala" => $_POST['la'],
    ":alb" => $_POST['lb'],
    ":alc" => $_POST['lc'],
    ":astory" => $_POST['story']  // line 184
));
$sql = "delete from lc where id = :aid";
$st = $db->prepare($sql);
$st->execute(array(
    ":aid" => $_POST['lcid']
));

推荐阅读