从mySql获取数据并回显它 - PHP

时间:2017-12-08 16:30:50

标签: php mysql

我需要从mySql获取数据并回显它。但向我显示错误!请帮我 。我是amator。请检查我的代码。 (从mySql获取数据并回显它 - PHP)

$result1=mysqli_query($link,$query1);

中的错误

我的PHP文件:

<?php

$post_data=@$_POST['myjson'];
$post_data=json_decode($post_data,true);
$command=$post_data['command'];
$server="localhost";
$user="user";
$pass="pass";
$db="db";
$link=mysqli_connect($server,$user,$pass,$db);
mysqli_set_charset($link,"utf8");


if ($command=="get_contact") {
    $id=$post_data['id'];
    $query="select * from ad where id=$id";
    $result=mysqli_query($link,$query);
    $row=mysqli_fetch_assoc($result);
    $num=mysqli_num_rows($result);

    if ($num == 1) {
        $query1="select * from user where id=$row['user_id']";
        $result1=mysqli_query($link,$query1);
        $row1=mysqli_fetch_assoc($result1);
        $num1=mysqli_num_rows($result1);

        if ($num1 == 1) {
            $specifications=array("mobile"=>$row1["mobile"], "email"=>$row1["email"]);
            echo "<b>".json_encode($specifications)."</b>";
        } else {
            echo "<b>Not Found</b>";
        }

    } else {
        echo "<b>Not Found</b>";
    }

    exit(); 
}

?>

1 个答案:

答案 0 :(得分:2)

如果您只希望每个查询得到一个结果,只需一个查询而不是您的两个查询就可以获得相同的结果:

$query = "select user.* from user, ad where ad.id=$id and user.id = ad.user_id";

此外,您应该使用预准备语句来避免sql注入,而不是在sql查询中编写vars。

除此之外,在错误消息中提供更多信息,因为现在您不知道返回了哪个错误。