내 데이터베이스에는 각 사용자가 "금"을 가지고있는 사용자가 있으며 각 클릭마다 100 개의 금을 증가시키는 버튼을 만들었습니다 그것. 문제는 특정 로그인 한 사용자를 위해이를 수행하는 방법을 파악할 수 없다는 것입니다. 나는 "$의 retval2"입력 단지 ID를 제거하면 여기 내 현재 업데이트 코드특정 사용자에 따라 데이터베이스 행을 업데이트 할 수 없음
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
, 그것은 작동합니다. 로그인 한 사용자의 ID를 호출 한 다음 해당 통계 만 업데이트하려고합니다. 내가 가지고있는 코드는 다음과 같습니다
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
이제 $ id2가 표시되면 ID가 "1"이지만 1이 아닌 것을 보여줍니다! 그것이 내가 또한
마지막을 넣었습니다 I 코드의 첫 번째 줄에이 오류
Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\wamp\www\Game\addgold.php on line 19
를 얻을 수 7 :(
있어, 여기
(형태가 다른 페이지에) 전체 코드입니다<?php error_reporting(E_ALL); ini_set('display_errors', 1);
include("connect.php");
include("header.php");
$username = $_SESSION['userlogin'];
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
$sql = "SELECT stats.id, stats.gold, users.id, users.username FROM stats, users WHERE users.username = '$username' AND stats.id = users.id";
$retval = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "Gold: {$row['gold']} <br> ".
"--------------------------------<br>";
}
$row2 = mysqli_fetch_row($retval2);
$id2 = mysqli_num_rows($retval2) or die(mysql_error()." ".$id2);
echo $id2;
if(isset($_SESSION['userlogin'])){
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
if(isset($addgold2['submit'])){
}
echo "You have earned 100 gold!";
mysqli_close($con);
}
?>
나는 그것이 중요하다고 생각하지는 않지만 어쨌든 시도해 보았지만 작동하지 않았다. (여전히 잘못된 ID를 표시 함 –
여전히 동일한 오류가 발생합니까? – worldask
바비 스텐리 (Bobby Stenly)의 대답이 도움이 될 것이라고 생각합니다. 그래서 atm –