我正在使用PHP和AngularJS,我有一个login.php文件,它发生在用户验证的地方,在这个文件中,我将一些信息(电子邮件,令牌,...)存储在一个可用的$中结果在AngularJS中使用它们。 我遇到的问题是我需要将查询结果存储在此变量中,以便像在其他变量中那样在AngularJS中进行恢复。 当我尝试这段代码时,我恢复了我存储查询结果的$ cc变量但是,但是它没有查询结果,我明白了:
cc: {current_field: "", field_count: "", lengths: "", num_rows: "", type: ""}
但是在这个变量中我希望得到查询结果。 我该怎么办?
的login.php
<?php
$data = json_decode(file_get_contents("php://input"));
$connect = mysqli_connect("localhost", "root", "", "test");
if(count($data) > 0)
{
$Email=mysqli_real_escape_string($connect, $data->Email);
$mdp=mysqli_real_escape_string($connect, $data->mdp);
$query = 'SELECT * FROM client ';
$q = mysqli_query($connect , $query);
if(mysqli_num_rows($q) > 0 )
{
$token = md5($Email.time()."51395+81519851");
$query2 = "UPDATE client SET token = '".$token."' WHERE EmailClient = '".$Email."'";
mysqli_query($connect , $query2);
$_SESSION["logged_in"] = true;
$_SESSION["token"] = "51395+81519851";
$_SESSION["Email"] = $Email;
;
$result['email'] =$Email;
$result['role'] = 'client';
$result['token'] = $token;
$result["cc"] = $q ;
$resultstring=json_encode($result);
$resultstring=str_replace("null", '""', $resultstring);
echo $resultstring;
exit;
}
答案 0 :(得分:0)
你得到的是一个对象。查询结果是一个对象,它应该是这样的。 如果要从需要使用的对象中提取行
$res=mysqli_fetch_assoc($q);
然后将$res
存储到$result['cc']
即;
$res=mysqli_fetch_assoc($q);
$result['cc']=$res;
请注意,这只会显示数据库中的一行。如果要显示所有行,请将fetch_assoc放入while循环中。像这样
$query = 'SELECT * FROM client ';
$s="";
$q = mysqli_query($connect , $query);
if(mysqli_num_rows($q) > 0 )
{
$token = md5($Email.time()."51395+81519851");
$query2 = "UPDATE client SET token = '".$token."' WHERE EmailClient = '".$Email."'";
mysqli_query($connect , $query2);
$_SESSION["logged_in"] = true;
$_SESSION["token"] = "51395+81519851";
$_SESSION["Email"] = $Email;
;
$result['email'] =$Email;
$result['role'] = 'client';
$result['token'] = $token;
while($res=mysqli_fetch_assoc($q))
{
$s=$s.print_r($res);
}
$result["cc"] = $s ;
$resultstring=json_encode($result);
$resultstring=str_replace("null", '""', $resultstring);
echo $resultstring;
exit;
}