0
我有記錄問題,我必須記錄在我的表中。如果存在具有相同名稱的產品,我想更新行。如果只有一條記錄來自行重複
if ((int)$price > 0) {
$query = "SELECT name FROM phones WHERE LOWER(`name`) = LOWER(?)";
$duplicate = $this->db->query($query, array($name));
if ($duplicate->num_rows() > 0) {
$query = "update phones (name,price,shop,link,photo,priority) VALUES (?,?,?,?,?,?)";
$this->db->query($query, array($name,$price,"Pigu.lt", $link, $photos, rand(0,1000)));
} else {
$query = "insert into phones (name,price,shop,link,photo,priority) VALUES (?,?,?,?,?,?)";
$this->db->query($query, array($name,$price,"Pigu.lt", $link, $photos, rand(0,1000)));
}
}
表結構:
CREATE TABLE `phones` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(500)
COLLATE utf8_lithuanian_ci NOT NULL, `price` int(15)
NOT NULL, `shop` varchar(100)
COLLATE utf8_lithuanian_ci NOT NULL, `link` varchar(400)
COLLATE utf8_lithuanian_ci NOT NULL, `photo` varchar(500)
COLLATE utf8_lithuanian_ci NOT NULL, `priority` int(5)
NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=544 DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci;
在知道代碼不工作,這
應該不會是'$式兩份> num_rows',沒有'()' – Martijn
它什麼都沒有改變,爲什麼不()? – Mangirdas
在mysqli中的num行不是一個函數,但屬性,屬性沒有'()' – Martijn