добренького. такая проблемка. делаю проверку на наличие предмета в базе по owner и item_id.
если проверка дает результат, должен выполниться запрос UPDATE, иначе же, если результаов нет, выполнить INSERT .
проблема в следующем: все работает, пака в базе 1 запись, как только появляется вторая запись с другим owner_id, запрос не делает insert, а пытается сделать update не существующей записи.
PHP:
public function AddItem($char_id, $item_id, $count, $enchant) {
$result = $this->game_db->select("SELECT count(*) as `count` FROM items WHERE owner_id = $char_id AND item_id = $item_id");
if ($result[0]['count'] > 0)
{
$link = mysqli_connect("IP", "Login", "Pass", "DBname");
if($link === false){
die("ERROR: Could not connect. "
. mysqli_connect_error());
}
$item_data = array(
'owner_id' => $char_id,
'item_id' => $item_id,
'count' => $count
);
$sql = "UPDATE items SET count = count + $count WHERE owner_id = $char_id AND item_id = $item_id";
if(mysqli_query($link, $sql))
{
mysqli_close($link);
}
} else {
$item_data = array(
'owner_id' => $char_id,
'item_id' => $item_id,
'count' => $count,
'enchant_level' => $enchant,
'loc' => 'INVENTORY'
);
$this->game_db->insert("items", $item_data);
}
}
проверял в ручную запрос на вывод колличества строк, результат 0. мне непонятно это поведение, ведь условие составлено верно.