我将它插入到我的数据库表中,它给了我一个非常奇怪的错误,我的列数与值计数匹配(除非我非常愚蠢)。还有什么可能导致此错误?我刚刚开始使用PDO PHP。
我的代码是:
$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 :(得分: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']));
请注意,查询中的值没有单引号。
答案 1 :(得分:0)
问题在于:
INSERT INTO 10 yeah plus windows
表名不包含空格,因为您的名称为yeah plus windows
,而不是空格_
,然后重试。
答案 2 :(得分: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']));