-1
좋아들, 그래서 게임 서버 데이터베이스, 일부 값을 업데이트하려면 다음 코드를 사용하려고 해요.수는 매개 변수의 수와 일치하지 않습니다 - MySQLi
$db1 = "versound_store";
//connection to the database
$mysqli = new mysqli($hostname, $sqluser, $sqlpass, $db1);
if($stmt = $mysqli->prepare("UPDATE vxp_users SET tokens =?, xp =?, level =? WHERE steamid ='?'"))
{
$stmt->bind_param('isss', $tokens, $xp, $level, $steamid00);
$stmt->execute();
$stmt->close() or trigger_error($db->error);
}
else {
printf("Prep statment failed: %s\n", $mysqli->error);
}
$mysqli->close();
$db2 = "versound_stats";
$mysqli = new mysqli($hostname, $sqluser, $sqlpass, $db2);
if($stmt = $mysqli->prepare("UPDATE ttt_stats SET roundsplayed =?, playtime =? WHERE steamid ='?'"))
{
$stmt->bind_param('iis', $roundsplayed, $totalplaytime, $steamid00);
$stmt->execute();
$stmt->close() or trigger_error($db->error);
}
else {
printf("Prep statment failed: %s\n", $mysqli->error);
}
$mysqli->close();
물론 두 검색어 모두에 대해 Number of variables doesn't match number of parameters in prepared statement on line 64
이 표시됩니다.
$ 토큰은 $ 레벨이 번호는 일반적으로 1 내지 50
이다-100 내지 269000. $ XP 숫자는 통상
보통 -50 10000까지의 숫자
roundsplayed $ 0
$의 totalplaytime 위는 통상 1 1000000
$ steamid00 사이의 숫자 문자열 formatt 임 STEAM_0 : 1 : 23456789와 (과) 일치했습니다.
내가 뭘 잘못하고 있니? 범인
WHERE steamid ='?'"