Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从mysql获取所有值,然后生成变量_Php_Javascript_Jquery_Mysql_Ajax - Fatal编程技术网

Php 从mysql获取所有值,然后生成变量

Php 从mysql获取所有值,然后生成变量,php,javascript,jquery,mysql,ajax,Php,Javascript,Jquery,Mysql,Ajax,嗨,我想从PHP文件中获取值,并使它们像数组一样可用。 我正在使用jquery。 我应该如何格式化retriever和php文件来检索它们 PHP文件:我使用switch一次检索1,但这个方法很糟糕 <?php ob_start(); session_start(); include('mysql_config.php'); $konto = $_SESSION['login']; $temp=mysql_fetch_array(mysql_query("SELECT `cur

嗨,我想从PHP文件中获取值,并使它们像数组一样可用。 我正在使用jquery。 我应该如何格式化retriever和php文件来检索它们

PHP文件:我使用switch一次检索1,但这个方法很糟糕

<?php
 ob_start();
 session_start();
 include('mysql_config.php');

 $konto = $_SESSION['login'];
 $temp=mysql_fetch_array(mysql_query("SELECT `curchar` FROM `users` WHERE `login`='$konto'"));
 $id = $temp['curchar'];
 $gracz=mysql_fetch_array(mysql_query("SELECT * FROM `chars` WHERE `id`='$id'"));
 $gracz['max_pz']=94+($gracz['str']+$gracz['stm']*5);
 $gracz['max_pe']=7.1-($gracz['str']*0.1)+$gracz['stm']+$gracz['int']*2;
 $gracz['max_exp']=($gracz['lvl']*10)*25;
 if ($gracz['max_exp'] <= $gracz['exp']) 
 {
  $gracz['lvl']++;
  $zostalo = $gracz['exp']-$gracz['max_exp'];
  mysql_query("UPDATE `chars` SET lvl=lvl+1, stats=stats+3, exp='$zostalo' WHERE `id`='$id'");
  $gracz['exp']=$zostalo;
  $gracz['max_exp']=($gracz['lvl']*10)*25;
 }
 $lol=$_POST['name'];

 switch ($lol) {
    case 'pz':
   echo $gracz['pz'];
  break;
  case 'max_pz':
   echo $gracz['max_pz'];
  break;
  case 'pe':
   echo $gracz['pe'];
  break;
  case 'max_pe':
   echo $gracz['max_pe'];
  break;
  case 'max_exp':
   echo $gracz['max_exp'];
  break;
  case 'str':
   echo $gracz['str'];
  break;
  case 'dex':
   echo $gracz['dex'];
  break;
  case 'int':
   echo $gracz['int'];
  break;
  case 'stm':
   echo $gracz['stm'];
  break;
  case 'stats':
   echo $gracz['stats'];
  break;
  case 'exp':
   echo $gracz['exp'];
  break;
  case 'lvl':
   echo $gracz['lvl'];
  break;
  case 'mapa':
   echo $gracz['mapa'];
  break;
  case 'x':
   echo $gracz['x'];
  break;
  case 'y':
   echo $gracz['y'];
  break;
  default:
   echo "post jest pusty";
  break; 
 }
 ob_end_flush();
?>

使用JSON。在PHP文件中,只需输出:

echo json_encode($gracz);
并更改ajax处理程序以接受json数据:

$.ajax({   
    type:   "POST",
    async:  false,   
    url:    "char_info2.php",   
    data:  { name: merk },   
    dataType: "json",  
    success:  function(data) {
        // Use data.max_pz or whatever here
    } 
}); 

您有一个SQL注入漏洞。@tatu ulmanen它不工作:C代码在这里,数据没有从函数中出来:/
$.ajax({   
    type:   "POST",
    async:  false,   
    url:    "char_info2.php",   
    data:  { name: merk },   
    dataType: "json",  
    success:  function(data) {
        // Use data.max_pz or whatever here
    } 
});