我正在尝试使用PHP将数据插入到包含2个外键的SQL表中。我的表格如下:
title=products
columns = cart_id, prod_id // Both columns are foreign keys that come from another table.
我已经能够成功地在phpmyadmin中插入数据,但每当我尝试在我的php脚本中插入时,我都会遇到错误。 phpmyadmin提供的SQL查询是
INSERT INTO `cart_prod` (`cart_id`, `prod_id`)
VALUES ('77717', '123456789');
然而,当我将该查询复制并粘贴到我的php代码中时,如下所示,它不起作用。
$conn = conn_create();
$query = "INSERT INTO cart_prod (cart_id, prod_id)
VALUES ('$this->cart_id', '$product_id');";
$result = $conn->$query($query);
Cart id是此代码包含在其中的类的属性,product_id是传递给类函数的值。我可以将值直接复制并粘贴到我的查询中,但仍然无效。
我正在使用WAMPserver,当我尝试测试这段代码时,我收到以下错误:
致命错误:调用未定义的方法mysqli :: INSERT INTO cart_prod(cart_id,prod_id)VALUES('77717','123456789');()位于第38行的C:\ wamp64 \ www \ php \ customer.php
我的两个外键在其他表中都有值。数据库没有主键。数据库的工作方式是cart_id的每一行都包含一个产品。与特定cart_id相关联的所有prod_id都属于该购物车。
实施例。数据库
cart_id prod_id
77717 123456789
77717 987654321
12345 113987454
12345 123456789
我在查询中的语法错误,我似乎忽略了?或者是需要更改数据库的东西,例如添加主键。
答案 0 :(得分:0)
这是你的问题
$result = $conn->$query($query);
将其更改为
$result = $conn->query($query);
// -------------^ remove the $