Bian0 Postado Dezembro 15, 2010 Denunciar Share Postado Dezembro 15, 2010 (editado) Ola a todos!Estou tendo um problema com esse script:84 -> elseif($buy_offer['offer_type'] == 'storage') 85 -> { 86 -> $player = $buy_player["id"]; 87 -> $storage = $buy_offer["count1"]; 88 -> /*foreach($SQL->query('SELECT * FROM `player_storage` (`player_id`, `key`, `value`) VALUES ('.$player.', '.$storage.', 1)') as $stora)*/ 89 -> $stor = $SQL->query('SELECT * FROM `player_storage` WHERE ((`player_storage`.`player_id` = '.$player.' AND `player_storage`.`key` = '.$storage.'));'); 90 -> if($stor['player_id','key'] === ($player,$storage) { 91 -> echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.'; 92 -> } 93 -> else { 94 -> $save_transaction = 'INSERT INTO z_shop_history_storage (id, to_name, to_account, from_nick, from_account, price, storage, trans_state, trans_start, trans_real) VALUES (NULL, \''.$buy_player["name"].'\', \''.$buy_account["id"].'\', \''.$buy_from.'\', \''.$loggedAccId.'\', \''.$buy_offer['points'].'\', \''.$buy_offer['count1'].'\', \'realized\', \''.time().'\', \''.time().'\');'; 95 -> $SQL->query($save_transaction); 96 -> $premiumPoints = $premiumPoints - $buy_offer['points']; 97 -> $storage_add = 'INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES ('.$player.', '.$storage.', 1);'; 98 -> $SQL->query($storage_add); 99 -> $SQL->query("UPDATE accounts SET premium_points=".$premiumPoints." WHERE name='".$buy_player_account."';"); 100 -> echo '<h2>Magic added!</h2><b>'.$buy_offer["offer_name"].'</b> has been added to <b>'.$buy_player["name"].'</b>\'s items (they will get this item after relog).<br /> <b>'.$buy_offer["points"].' premium points</b> have been deducted from your account.<br />You now have <b>'.$premiumPoints.' premium points</b>.<br /><a href="/index.php/p/v/shop">GO TO MAIN SHOP SITE</a>'; 101 -> } 102 -> } E esta dando erro na linha 90: if($stor['player_id','key'] == ($player,$storage) {Erro:Parse error: syntax error, unexpected ',', expecting ']'Eu sei qual é o erro, mais não sei como fazer para verificar!Pois quero que verifique se o player tem uma value na tabela player_storage do banco de dados!Algue pode me ajudar? Editado Dezembro 15, 2010 por Bian0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ava.rj Postado Dezembro 15, 2010 Denunciar Share Postado Dezembro 15, 2010 Tá faltando fechar um parênteseif($stor['player_id','key'] == ($player,$storage)){ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bian0 Postado Dezembro 15, 2010 Autor Denunciar Share Postado Dezembro 15, 2010 mas ainda dá o mesmo erro:Parse error: syntax error, unexpected ',', expecting ']' in arquivo.php on line 90 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 svjets Postado Dezembro 15, 2010 Denunciar Share Postado Dezembro 15, 2010 Não existe vírgula dentro de colchetes. Esse é o erro. tente trocar por:if($stor['player_id'] == $player AND $stor['key'] == $storage) { Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bian0 Postado Dezembro 15, 2010 Autor Denunciar Share Postado Dezembro 15, 2010 Esta dando este erro agora:Fatal error: Cannot use object of type PDOStatement as array in arquivo.php on line 90Pois o que eu quero no script é que se caso tenha a consulta no banco de dados dê o erro falando que já existe e caso não tenha prossiga e adiciona ao banco de dados!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafaelflm Postado Dezembro 15, 2010 Denunciar Share Postado Dezembro 15, 2010 Esta dando este erro agora:Fatal error: Cannot use object of type PDOStatement as array in arquivo.php on line 90Pois o que eu quero no script é que se caso tenha a consulta no banco de dados dê o erro falando que já existe e caso não tenha prossiga e adiciona ao banco de dados!!tranforma o id em uma variavel$id = "alguma coisa"if ( ! strlen($id) ) { etc..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bian0 Postado Dezembro 15, 2010 Autor Denunciar Share Postado Dezembro 15, 2010 (editado) Não entendi direito o que você quis dizer!Mas fiz isso:$stor = $SQL->query('SELECT * FROM `player_storage` WHERE ((`player_storage`.`player_id` = '.$player.' AND `player_storage`.`key` = '.$storage.'));'); if ( ! strlen($stor) ) { echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.'; }Mas dá esse erro:strlen() expects parameter 1 to be string, object givenMas aparece a msg de erro:echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.';Mas quando eu vou tentar ver outra que não existe no banco de dados também dá a mesma coisa!Em vez de ir ao resto do script e colocar no banco de dados o que não existe ele dá esse erro! Editado Dezembro 15, 2010 por Bian0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafaelflm Postado Dezembro 15, 2010 Denunciar Share Postado Dezembro 15, 2010 Não entendi direito o que você quis dizer!Mas fiz isso:$stor = $SQL->query('SELECT * FROM `player_storage` WHERE ((`player_storage`.`player_id` = '.$player.' AND `player_storage`.`key` = '.$storage.'));'); if ( ! strlen($stor) ) { echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.'; } Mas dá esse erro:strlen() expects parameter 1 to be string, object givenMas aparece a msg de erro:echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.'; Mas quando eu vou tentar ver outra que não existe no banco de dados também dá a mesma coisa! Em vez de ir ao resto do script e colocar no banco de dados o que não existe ele dá esse erro! ta calma ai to vendo aki Não entendi direito o que você quis dizer! Mas fiz isso: $stor = $SQL->query('SELECT * FROM `player_storage` WHERE ((`player_storage`.`player_id` = '.$player.' AND `player_storage`.`key` = '.$storage.'));'); if ( ! strlen($stor) ) { echo 'Error: You have this '.$buy_offer['offer_name'].'. Please back to Shop and buy other magic.'; }Mas dá esse erro:strlen() expects parameter 1 to be string, object givenMas aparece a msg de erro:echo 'Error: You have this '.$buy_offer['offer_name].'. Please back to Shop and buy other magic.';Mas quando eu vou tentar ver outra que não existe no banco de dados também dá a mesma coisa!Em vez de ir ao resto do script e colocar no banco de dados o que não existe ele dá esse erro!ta calma ai to vendo akiantes de tudo teste o request do id, faz uma consulta no banco, de algo que exista e imprima o valor do id, ai você conferi, primeiro de tudo é saber se ele ta puxando o id, caso não, eu ti aconselho a baixar as bibliotecas do pear e usar as classes dele, tipo a HTM_template_IT Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bian0 Postado Dezembro 16, 2010 Autor Denunciar Share Postado Dezembro 16, 2010 Sim eu já testei e existe ;x!Pois a consulta eu peguei pego phpMyadmin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Bian0
Ola a todos!
Estou tendo um problema com esse script:
E esta dando erro na linha 90:Erro:
Eu sei qual é o erro, mais não sei como fazer para verificar!
Pois quero que verifique se o player tem uma value na tabela player_storage do banco de dados!
Algue pode me ajudar?
Editado por Bian0Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.