2013-07-12 3 views
-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.

$ лексемы представляет собой число, как правило, от -50 до 10000.

$ хр это число обычно между -100 и 269000.

$ уровень представляет собой число, как правило, от 1 до 50.

$ roundsplayed это число выше 0.

$ totalplaytime это число обычно от 1 до 1000000.

$ steamid00 является строка formatt как STEAM_0: 1: 23456789.

Что я делаю неправильно?

ответ

0

преступник

WHERE steamid ='?'" 

не использовать кавычки

WHERE steamid =?" 
Смежные вопросы

 Смежные вопросы