我正在尝试将数据插入到表中但是我遇到了这个令人沮丧的错误,我无法弄清楚是什么问题。错误如下:
Fatal error: Call to a member function bind_param() on a non-object
我已经读过它意味着prepare正在返回false ..这是发生错误的代码
$insert = $mysqli->prepare("insert into `hm_desktop`(`username`, `title`, `condition`, `description`, `price`, `brand`, `color`, `hard_drive_capacity`, `others`, `graphics_card`, `ram_capacity`, `operating_system`, `os_edition,` `processor_type`, `processor_speed`, `model`, `product_series`, `included_items`, `country`, image_one, image_two, image_three, image_four, image_five, `date`) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$insert->bind_param('sssssssssssssssssssss', $username, $title, $cond, $desc, $price, $brand, $color, $hard_drive_type, $others, $garphics_card, $ram_capacity, $operating_system, $os_edition, $processor_type, $processor_speed,$model, $product_series, $included_items, $country, $random_name_generated, $i2, $i3, $i4, $i5, $date);
$insert->execute();
我已经尝试了几个小时,但似乎没有任何工作......我在这里缺少什么?请帮忙
答案 0 :(得分:0)
我看到两个问题:
你有21个s和25个变量。
你拼错了graphics_card(除非你声明它的拼写方式相同)
请改用此行:
$insert->bind_param('sssssssssssssssssssssssss', $username, $title, $cond, $desc, $price, $brand, $color, $hard_drive_type, $others, $graphics_card, $ram_capacity, $operating_system, $os_edition, $processor_type, $processor_speed,$model, $product_series, $included_items, $country, $random_name_generated, $i2, $i3, $i4, $i5, $date);
另外,os_edition在逗号的错误一侧有勾号。
答案 1 :(得分:0)
你的SQL中有错误。
os_edition
之后的逗号在反引号内,它应该在外面:
....ating_system`, `os_edition,` `processor...
....ating_system`, `os_edition`, `processor...
那,以及@aynber关于s
,变量和graphics_card的内容。