2017-12-05 2 views
-1

내 웹 사이트에 카운터를 추가하고 싶습니다.SQL 카운터 행 추가

저는 현재 php와 mysql을 사용하고 있습니다.

예를 들어 내 웹 사이트에 로그인 한 총 사용자 수입니다. 하지만 사용자가 로그인, 나는

|Total User Logins| 
|    2| 

어떻게 이런 짓을 했을까이 수행하려는 경우

구조는이

|Total User Logins| 
|    1| 

과 같을 것이다? 현재로서는 새로운 행만 생성되며, 이는 내가 수행 한 행과 다릅니다.

이것은 내가 할 뭘하려 :

mysql_query(" UPDATE `Statistics` SET `Success`= `Success` + 1 WHERE 1 "); 

는 ^이는 phpMyAdmin을 패널에서 작동합니다. 그러나 PHP 스크립트에서는 작동하지 않습니다.

감사 당신은 업데이트 할 수있는 특정 컬럼에 관해서는 WHERE 절에서 더 구체적으로해야 할

+1

여러분의 의견을 기쁘게 받아 들일 수 있기를 바랍니다. 당신이 뭔가를 코딩했을 때 돌아와. –

+0

"어떻게해야합니까?" ... 먼저이 작업을 수행하십시오. https://meta.stackoverflow.com/a/261593/2960971 – IncredibleHat

+0

@ Fred-ii- 코드를 추가했습니다. –

답변

1

. 그래서 코드가 실패하고 매번 새로운 행을 생성합니다.

즉이 :

mysql_query(" UPDATE `Statistics` SET `Success`= `Success` + 1 WHERE column_x = 'y' "); 

사이드 참고 : column_x는 열 이름에 게시 무엇에 따라 User 수 있습니다. 나는 Success이라고 불리는 것을 보지 못했습니다. y도 그 예입니다. 업데이트하려는 행의 값을 사용하십시오.

몇 가지 중요한 세부 사항을 빠뜨린 것 같이 보이는 한 가지 예입니다.

그런데 사용하는 API는 꽤 오래된 것입니다. mysqli_ 또는 PDO api로 가능한 한 빨리 그리고 준비된 문으로 이동하는 것이 좋다. 이렇게하면 사용자 입력이 포함되거나 가능한 한 GET 메서드를 통해 href과 같은 다른 방법을 사용하면 SQL 주입을 방지 할 수 있습니다.

+0

행은 없지만 유일한 행은 첫 번째 행뿐입니다. 이 데이터베이스는 사용자 로그인 및 실패한 사용자 로그인을 등록하는 데 사용하려는 데이터베이스입니다 (이것은 나중에 좋은 chart.js 차트를 만드는 데 사용됩니다). –

+0

또한이 UPDATE Statistics SET Success = Success + 1 WHERE Success = '1''을 사용해 보았습니다. 항상 phpmyadminpanel에서 작동하지만 php 스크립트에서는 작동하지 않습니다. –

+0

@ A.Dato –