2017-06-21 26 views
0

我将此插入到我的数据库表中,它给了我一个非常奇怪的错误,我的列计数与值计数匹配(除非我非常愚蠢)。还有什么可能导致这个错误?我刚刚进入PDO PHP。PDO错误:致命错误:插入值列表与列列表不匹配

我的代码是:

$sql2 = "INSERT INTO `10 yeah plus windows`(`adults in property`, `age`, `alternative number`, `date of appointment`, `debt`, `employment status`, `energy spend`, `homeowner`, `lead id`, `notes`, `number of doors`, `number of windows`, `time of appointment`, `windows last replaced`) VALUES ('?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?')" ; 
            $result = $conn->prepare($sql2); 
            $count = $result->execute(array($_POST['adultsinproperty'], $_POST['age'], $_POST['alternativenumber'], $_POST['appdate'], $_POST['debt'], $_POST['employmentstatus'], $_POST['energy'], $_POST['homeowner'], $last_id, $_POST['notes'], $_POST['number_of_doors'], $_POST['number_of_windows'], $_POST['apptime'], $_POST['windowslastreplaced'])); 

回答

1

你应该试试这个

$sql2 = "INSERT INTO `10 yeah plus windows`(`adults in property`, `age`, `alternative number`, `date of appointment`, `debt`, `employment status`, `energy spend`, `homeowner`, `lead id`, `notes`, `number of doors`, `number of windows`, `time of appointment`, `windows last replaced`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" ; 
           $result = $conn->prepare($sql2); 
           $count = $result->execute(array($_POST['adultsinproperty'], $_POST['age'], $_POST['alternativenumber'], $_POST['appdate'], $_POST['debt'], $_POST['employmentstatus'], $_POST['energy'], $_POST['homeowner'], $last_id, $_POST['notes'], $_POST['number_of_doors'], $_POST['number_of_windows'], $_POST['apptime'], $_POST['windowslastreplaced'])); 

注意的是,在查询值无单引号。

+0

谢谢你,我不能相信多么愚蠢,这是我的,谢谢你们。 – Lazza

+0

继续前进,不要忘记接受我的答案。 –

0

问题就在这里:

INSERT INTO 10 yeah plus windows 

表名不包含空格,因为你的名字是yeah plus windows,而不是空间通_,然后再试一次。

0

在表名和字段中不使用空格。

试试这个代码,

$sql2 = "INSERT INTO `10_yeah_plus_windows` 
(`adults_in_property`, `age`, `alternative_number`, `date_of_appointment`, `debt`, `employment_status`, `energy_spend`, `homeowner`, 
`lead_id`, `notes`, `number_of_doors`, `number_of_windows`, `time_of_appointment`, `windows_last_replaced`) VALUES 
('?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?')" ; 
$result = $conn->prepare($sql2); 
$count = $result->execute(array($_POST['adultsinproperty'], $_POST['age'], $_POST['alternativenumber'], $_POST['appdate'], $_POST['debt'], $_POST['employmentstatus'], $_POST['energy'], $_POST['homeowner'], $last_id, $_POST['notes'], $_POST['number_of_doors'], $_POST['number_of_windows'], $_POST['apptime'], $_POST['windowslastreplaced']));