qq_33401491 2016-12-23 02:41 采纳率: 0%
浏览 976

PHP页面SQL无法执行问题,希望大神给解决下!

<?php

require_once("/config.php");

session_start();

if(!empty($_POST["security"])){

if($_SESSION["security"]  != $_POST["security"]) { $errors[] = "输入无效. 请重试."; }

}

$security = rand(10000, 100000);
$_SESSION["security"] = $security;

if(!empty($_POST["accountname"]) && !empty($_POST["password"]) && !empty($_POST["charactername"]) && !empty($_POST["security"])){

$mysql_connect = mysqli_connect($mysql["host"], $mysql["username"], $mysql["password"]) or die("无法链接数据库.");
mysqli_select_db($mysql_connect, $mysql["characters"]) or die("无法链接服务器数据库.");

$post_accountname = mysqli_real_escape_string($mysql_connect, trim(strtoupper($_POST["accountname"])));
$check_account_query = mysqli_query($mysql_connect, "SELECT COUNT(*) FROM auth.account WHERE username = '".$post_accountname."'");
$check_account_results = mysqli_fetch_array($check_account_query);
if($check_account_results[0]==0){ $errors[] = "账户不存在.请重试."; }

$post_password = mysqli_real_escape_string($mysql_connect, trim(strtoupper($_POST["password"])));
$post_password_final = mysqli_real_escape_string($mysql_connect, SHA1("".$post_accountname.":".$post_password.""));
$check_password_query = mysqli_query($mysql_connect, "SELECT COUNT(*) FROM auth.account WHERE sha_pass_hash = '".$post_password_final."'");
$check_password_results = mysqli_fetch_array($check_password_query);
if($check_password_results[0]==0){ $errors[] = "密码错误.请重试."; }

$post_charactername = mysqli_real_escape_string($mysql_connect, trim(strtoupper($_POST["charactername"])));
$check_character_query = mysqli_query($mysql_connect, "SELECT COUNT(*) FROM characters.characters WHERE name = '".$post_charactername."'");
$check_character_results = mysqli_fetch_array($check_character_query);
if($check_character_results[0]==0){ $errors[] = "角色名不存在.请重试."; }

$check_accountguid_query = mysqli_query($mysql_connect, "SELECT COUNT(*) FROM characters.characters,auth.account WHERE characters.characters.`name` = '".$post_charactername."' AND characters.characters.account = auth.account.id AND auth.account.username = '".$post_accountname."'");
$check_accountguid_results = mysqli_fetch_array($check_accountguid_query);
if($check_accountguid_results[0]==0){ $errors[] = "账户角色不匹配.请重试."; }

if(!is_array($errors)){

    mysqli_query($mysql_connect, "DELETE character_spell,character_classless FROM character_spell,character_classless,characters.characters WHERE characters.name = '".$post_accountname."' AND character_spell.guid = characters.guid AND character_classless.guid = characters.guid;") or die(mysqli_error($mysql_connect));

$errors[] = '<h2>成功重置账号<font color="red">'.$post_accountname.'</font>下角色:<font color="blue">'.$post_charactername.'</font>的天赋及技能</h2>.';  

}

mysqli_close($mysql_connect);

}

function error_msg(){

global $errors;

if(is_array($errors)){

    foreach($errors as $msg){

        echo '<div class="errors">'.$msg.'</div>';

    }

}

}

?>

<!DOCTYPE html>




" />
" />
" />


<?php echo $site["title"]; ?>





<br> function checkform ( form )<br> {</p> <pre><code> if (form.accountname.value == &quot;&quot;) { alert( &quot;账户名称未填写. 请重试.&quot; ); form.accountname.focus(); return false; } else { if (form.accountname.value.length &lt; 1) { alert( &quot;账户名称小于1个字符,请重试&quot; ); form.accountname.focus(); return false; } } if (form.password.value == &quot;&quot;) { alert( &quot;密码是空的. 请重试.&quot; ); form.password.focus(); return false; } else { if (form.password.value.length &lt; 6) { alert( &quot;密码长度小于6个字符,请重试!&quot; ); form.password.focus(); return false; } } if (form.charactername.value == &quot;&quot;) { alert( &quot;角色名是空的. 请重试.&quot; ); form.charactername.focus(); return false; } else { if (form.charactername.value.length &lt; 1) { alert( &quot;角色名长度小于1个字符,请重试!&quot; ); form.charactername.focus(); return false; } } if (form.security.value == &quot;&quot;) { alert( &quot;验证码是空的. 请重试.&quot; ); form.security.focus(); return false; } </code></pre> <p>return true ;<br> }<br>
"><?php echo $site[" />
<?php error_msg(); ?>" method="POST" onsubmit="return checkform(reg);" name="reg"> 重置说明 1、角色必须完全退出游戏。 2、角色名如果包含特殊字符,如火星文等,可能无法生效。 3、角色技能写入数据库有缓存,才学会的技能需要等待至少1分钟之后再进行重置。 4、重置会删除所有已学会的技能,谨慎使用!!!!!!。
账户名称: 避免特殊字符
账户密码: 避免特殊字符
角色名称: 避免特殊字符
验  证  码:  <?php echo $security; ?>
<?php echo $site["realmlist"]; ?>


  • 写回答

4条回答 默认 最新

  • qq_33401491 2016-12-23 02:43
    关注

    重点在SQL语句无法执行,在mysql里执行是没问题的,但是在PHP页面就不行了。。。。
    if(!is_array($errors)){

    mysqli_query($mysql_connect, "DELETE character_spell,character_classless FROM character_spell,character_classless,characters.characters WHERE characters.name = '".$post_accountname."' AND character_spell.guid = characters.guid AND character_classless.guid = characters.guid;") or die(mysqli_error($mysql_connect));
    

    $errors[] = '

    成功重置账号'.$post_accountname.'下角色:'.$post_charactername.'的天赋及技能

    .';

    }

    mysqli_close($mysql_connect);

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3