Вы не назначаете счет в своей базе данных переменной, а просто увеличиваете новую переменную (которая должна вызывать ошибку - Примечание: неопределенная переменная: count ... - вы проверили ошибку?), присваивая значение вашей базы данных. Следовательно, почему вы всегда получаете 1 - вы создаете новое значение 0 и добавляете 1 к нему каждый раз, когда вы обновляете.
Вам потребуется -
$row = mysql_fetch_row($result);
$count = $row[0];
$count++;
Примечание Я рекомендовал бы вам не использовать счет в качестве имени поля в базе данных, как это зарезервированное слово в MySQL, так и PHP. Это может вызвать непредвиденные ошибки/выход. Try having a look at this thread.
Попробуйте это (assuming you have PDO and your connection declared), как уже указывалось, логика, с которой вы работаете, ошибочна в ваших запросах.
function updateCount() {
# Update count
$queryUpdate = $db->prepare('UPDATE hits SET hitcount = hitcount + 1');
$queryUpdate->execute();
# Get the updated count value
$queryCount = $dbo->('SELECT hitcount FROM hits');
$queryCount->execute();
# Check that a result is returned and assign result
if ($result = $queryCount->fetch(PDO::FETCH_OBJ) {
return $result->hitcount;
}
}
# Echo returned value
$value = updateCount();
echo $value;
Что вы пытаетесь сделать? – Jenz
Вы проверяете, успешно ли выполнялся запрос, вы не возвращаете никаких данных из запроса, поэтому '$ count' ничего не оценивает – Luke
его счетчик хитов, я хочу, чтобы он добавлял 1 каждый раз, когда кто-то вводит мой сайт или обновляется – kensil