我怎样才能完成这项工作(基本的mysqli和PHP)?

时间:2016-05-17 22:29:02

标签: php mysqli

以下是我的代码:

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的完全初学者,所以我确定这是一个愚蠢的错误。

1 个答案:

答案 0 :(得分:1)

这里有两件不同的事情:

  1. 错别字(不包括需要的引号)
  2. 您的结果集当前是一个数组,而不是单个值。试试这个:

    $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];

  3. 不确定为什么网站拒绝使用代码块。无论如何,请注意您的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];