2015-04-07 3 views
0

Я стараюсь сделать простой счетчик просмотров страницы. Каждый раз, когда страница обновляется, число должно увеличиваться на +1.Php mysql page view counter

Когда я выполняю код в Phpmyadmin, все работает отлично. Но в php счетчик возвращается, но не увеличивается. Что я сделал не так?

<?php 
$username = "username"; 
$password = "password"; 
$hostname = "hostname"; 
$dbname = "dbname"; 


// Create connection 
$conn = new mysqli($hostname, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

$sql = "UPDATE `Games` SET `Played`= `Played`+1 WHERE 'ID'='3'"; 

$sql = "SELECT `Played` FROM `Games` WHERE `ID` = 3"; 

$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
// output data of each row 
while($row = mysqli_fetch_assoc($result)) { 
    echo "" . $row[Played]. "<br>"; 
} 
} else { 
echo "0 results"; 
} 

$conn->close(); 
?> 
+2

Опечатка? '' password; '<= отсутствующая цитата. Кроме того, это столбец' WHERE 'ID' 'не является значением. –

+0

Удалите одинарные кавычки вокруг '' ID'' – Daan

+0

'$ result = mysqli_query ($ conn, $ sql) или die (mysqli_error ($ conn)); 'сигнализировал бы синтаксическую ошибку. –

ответ

1

Вы должны сделать mysqli_query вызов после создания UPDATE строки в переменную $sql. То, что вы делаете сейчас, просто перекрывает его строкой запроса SELECT.

[...] 

$sql = "UPDATE `Games` SET `Played`= `Played`+1 WHERE `ID`='3'"; 

$result = mysqli_query($conn, $sql); 

$sql = "SELECT `Played` FROM `Games` WHERE `ID` = 3"; 

$result = mysqli_query($conn, $sql); 

[...] 
+1

Вы забыли' WHERE 'ID' = '3'' – TiiJ7

+0

Вот и все, спасибо! – Tim

+1

Он должен отражать ответ^'WHERE 'ID' = '3'"; '' WHERE ID = '3' ";' или использовать тики '\' 'вместо обычных кавычек' ''. Измените свой ответ. Неверные идентификаторы http://dev.mysql.com/doc/refman/5.0/en/identifier-qualifiers.html –