當我試圖獲得「出售」和「特色」的價值時,我什麼也得不到。我究竟做錯了什麼?如何將boolean參數傳遞給php函數?
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);
編輯:如果我嘗試echo $ sold或$ featured,它們是空白的。應顯示1或0。
使用'FALSE',空白參數將被使用(嘗試'回聲TRUE'和'回聲FALSE'看到),進而導致您的SQL看起來像'SELECT * FROM表WHERE var =;' – Rawkode 2013-03-26 12:43:26
是的,這似乎是發生了什麼。我可以不使用布爾值作爲函數參數嗎? – Sam 2013-03-26 12:51:36
你如何「檢查」變量是「空白」?你瞭解[*布爾規則*爲布爾值](http://www.php.net/manual/en/language.types.string.php#language.types.string.casting)嗎?如果你真的想知道一個變量的內容,不要'echo'它,'var_dump()'它。 – deceze 2013-03-26 12:53:47