2016-10-31 2 views
-2

좋아, 그래서 ... 나는 간단한 작은 점수 판을 만들려고 노력하고있다. 그리고, 나는 내가 MYSQL에서 newb이기 때문에 나는 꽤 잘하고 있다고 말해야 만합니다. 현재 문제는 승리 횟수를 늘리는 데 어려움이 있습니다. 이 작업을 시도하는 방식은 "SELECT win from high_scores where username = '$ usr'"입니다. 그러나 구문 오류가있을 수 있습니다. 이와 함께, 나는 이것을 PHP 변수로 변환하는 방법을 전혀 모른다.MYSQL/PHP 도움이 필요합니다

나는 여러 가지를 시도, 내가 일을해야한다고 생각 (하지만하지 않는) 사람은 다음과 같습니다

$usr='userGuy'; 

$sql = "SELECT win FROM scoreboard WHERE usr = '$usr' "; 
$win= mysql_query($sql, $conn); 
echo "$usr has a score of $win wins"; 

및 userGuy 57 승 말하자면,이 있다면, 결과는 다음과 같습니다 userGuy 57 승리의 점수가

그러나 이것은 사실이 아닙니다. 짧게 짧게 말해서 을 업데이트 할 수 있어야합니다. ... endgoal은 $ newWin이라는 변수를 만들고 $ win + 1로 설정 한 다음 MYSQL 데이터베이스를 업데이트하여 userGuy가 현재 58 회의 승리를 얻었습니다.

도움 주셔서 미리 감사드립니다. : D (확실하지 않은 경우 (가능성이 있음) 제발 ... 내가 처음으로 코딩 문제를 설명하려고합니다.)

EDIT :이 스코어 보드는 단순히 나를위한 것입니다. 사용하는 친구 그룹, 그것은 심각하지 않습니다. 일을 더 복잡하게 만들지 않기 위해, 나는 '안전하지 않은 방법'으로 완벽하게 괜찮습니다. (합법적 인 목적으로 코드를 사용하는 것의 위험성을 완전히 깨닫습니다.)

+5

그것은 답이 아니라을 사용하지 마십시오'mysql_' 기능 가족. 대신에'PDO' 또는'mysqli_'를 사용하십시오. 또한 SQL 주입을 피하기 위해 매개 변수화 된 쿼리를 사용하십시오. –

+2

또한 : [PHP에서 mysql_ * 함수를 사용하면 안되는 이유는 무엇입니까?] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) –

+0

다음 행의 예제 구문을 적용하면됩니다 : 'UPDATE table SET col_x = col_x +1 WHERE col_y ='z ''. –

답변

-1

변수에 ''를 써서는 안됩니다. 당신은 ''

를 작성하는 경우 그

$usr='userGuy'; 

$sql = "SELECT win FROM scoreboard WHERE usr = $usr"; 
$win= mysql_query($sql, $conn); 
echo "$usr has a score of $win wins"; 

변수 "로"또는없이 실행할 수 있습니다 그것을 시도 문자열이 될 것입니다. ''로 쓰면 실행되지 않습니다.

+0

나는 그것을 기억할 것이다, 고마워! – AlPr2k

+0

mysql_real_escape_string을 사용하지 않고'$ usr'의 따옴표를 제거하는 것은 실수입니다. – tadman

0

글쎄, 나는 갈 필요가있다. Fred -ii-comment는 꽤 도움이되었습니다. 그의 코멘트는 올바른 길로 나를 놓았습니다. 감사합니다! :)

" 특정 행의 수를 증가시키기 위해, 다음 예제와 구문 적용 UPDATE table SET col_x = col_x +1 WHERE col_y='z'."