0

「販売済み」と「注目」の値を取得しようとすると、何も取得されません。私は何が間違っているのですか?

function list_products($sold = false, $featured = false) {
    global $link;
    $result = mysqli_query($link, "SELECT * FROM products product JOIN images image ON product.id = image.product_id WHERE product.main_image = image.id AND product.sold = $sold AND product.featured = $featured") or die(mysqli_error($link));
}

list_products(false, true);

編集:$soldまたは$featuredをエコーし​​ようとすると、空白になります。1または0が表示されます。

4

2 に答える 2

5

PHPでブール値を文字列にキャストしてmysqlクエリを実行することはお勧めできません。trueは「1」になり、falseは「」になります。のようなものを使用してください($boolVar ? 1 : 0)

于 2013-03-26T12:43:16.703 に答える
-3

あなたの場合、関数を呼び出すときに引数に数値を与えることができます(とにかくクエリでそれらを数値として使用したい)。

試す:

function list_products($sold = 0, $featured = 0) {
    global $link;
    $result = mysqli_query($link, "SELECT * FROM products product JOIN images image ON product.id = image.product_id WHERE product.main_image = image.id AND product.sold = $sold AND product.featured = $featured") or die(mysqli_error($link));
}

list_products(0, 1);
于 2013-04-08T09:13:30.870 に答える