-3

我正在尝试向表中插入数据,但我遇到了这个令人沮丧的错误,我无法弄清楚出了什么问题。错误如下:

Fatal error: Call to a member function bind_param() on a non-object

我读过它意味着准备返回错误。这是发生错误的代码

$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();

我已经尝试了几个小时的一切,但似乎没有任何效果..我在这里错过了什么?请帮忙

4

2 回答 2

0

我看到两个问题:

你有 21 个和 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 在逗号的错误一侧有勾号。

于 2013-07-31T14:15:51.100 回答
0

你的 SQL 有错误。

后面的逗号在os_edition反引号内,它应该在外面:

....ating_system`, `os_edition,` `processor...

....ating_system`, `os_edition`, `processor...

那,以及@aynber 所说的关于s's、变量和 graphics_card 的内容。

于 2013-07-31T14:19:26.087 回答