以下是我的代码:
QImage image((uchar *)pBits, width, height, QImage::Format_Grayscale8);
QImage flippedImage = image.mirrored(false, true); //flip image vertically
QPixmap pixmap = QPixmap::fromImage(flippedImage.scaled(qs, Qt::KeepAspectRatio));
pgs->addPixmap(pixmap);
我遇到问题的地方是$ forPack和$ forPound。在我的产品表中,通常有三种产品。该产品,12件装产品,50磅产品。对于三个update-cart.php调用中的第一个调用,一切正常。那个说$ obj-> id的人,但我似乎无法让$ forPack或$ forPound工作。它们具有完全相同的产品名称,只是不同的“类型”。在服务器上。当我查询选择ID时,是不是只返回一个数字?这里有什么确切的回复?
我只需要程序在产品表中查找具有相同名称但具有不同类型的产品。如果有更好的方法,请告诉我。我是SQL和PHP的完全初学者,所以我确定这是一个愚蠢的错误。
答案 0 :(得分:1)
这里有两件不同的事情:
您的结果集当前是一个数组,而不是单个值。试试这个:
$forPack = $mysqli->query("SELECT id FROM products WHERE typeOf = '12-pack' AND product_name = '" . $obj->product_name . "'")->fetch_row()[0];
$forPound = $mysqli->query("SELECT id FROM products WHERE typeOf = '50-pound' AND product_name = '" . $obj->product_name . "'")->fetch_row()[0];
不确定为什么网站拒绝使用代码块。无论如何,请注意您的SQL现在使用整个语句的双引号,因此您可以在其中使用单引号。此外,单引号位于typeOf
值和$obj->product_name
附近。在构建SQL字符串时,首先回显它们是个好主意,这样你就可以看到它们是正确构建的。要做到这一点,我会做类似的事情:
$sql = "SELECT id FROM products WHERE typeOf = '12-pack' AND product_name = '" . $obj->product_name . "'";
echo $sql;
$forPack = $mysqli->query($sql)->fetch_row()[0];