thameslink Posted February 10, 2011 Share Posted February 10, 2011 I'm new to php & mysql This has got me baffled can anyone help me to understand why select curdate(); +------------+ | curdate() | +------------+ | 2011-02-10 | +------------+ 1 row in set (0.00 sec) Ok I understand that now, select DATE_FORMAT(CURDATE(),'%Y-%d-%m'); +-----------------------------------+ | DATE_FORMAT(CURDATE(),'%Y-%d-%m') | +-----------------------------------+ | 2011-10-02 | +-----------------------------------+ 1 row in set (0.00 sec) Ok good I get that bit, seems to work exactly as I'd expect. Now how come mysql_query("UPDATE LOW_PRIORITY jos_vm_product SET product_in_stock = product_in_stock + '$product_quantity' WHERE STR_TO_DATE(product_sku,'%Y-%d-%m') = CURDATE() AND product_sku = '$order_item_sku'") or die(mysql_error()); produces 2812 cancelled 1 tickets sku was 2011-10-02 1 tickets released into 2011-10-02 Affected rows 1 Why does it match it without DATE_FORMAT() and how can I make UPDATE rows where the STR_TO_DATE >= CURDATE() Thanks Link to comment https://forums.phpfreaks.com/topic/227225-date-comparison-weirdness/ Share on other sites More sharing options...
Pikachu2000 Posted February 10, 2011 Share Posted February 10, 2011 Your product SKU number in the table is a date? Link to comment https://forums.phpfreaks.com/topic/227225-date-comparison-weirdness/#findComment-1172175 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.