1

ユーザーがphp/mysql Webサーバーに対してログインすると、ユーザーの詳細がjson経由でローカルのsqlite dbに保存されます。

これはうまくいきます。次に、mysql DB の別のテーブルから 2 つ目の sqlite テーブルを更新しようとしています。

返される json は、2 番目のクエリに対して常に null です。(単独で実行する場合、クエリは問題ありません)

このように 2 つのクエリを実行できますか?? 何か案は ?

ありがとう。

<?php

include 'DB_Connect.php';


    // get tag
    if (isset($_POST['email']) && $_POST['email'] != '') {
    $tag = 'login';

    //json response array
    $response = array();

    // check for tag type
    if ($tag == 'login') {

    $email = $_POST['email'];
    $password = $_POST['password'];

    //check user exists
    $qry = "SELECT uid, name, email, registration_date, updated_at FROM users WHERE email = ? AND password = ? ";
    $stmt = $mysqli->prepare($qry);
    $stmt->bind_param('ss', $email, $password);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($uid, $name, $email, $registration_date, $updated_at); // get variables from result.
    $stmt->fetch();
    if ($stmt->num_rows == 1){

            // if user exists, set json values
            $response["success"] = 1;
            $response["uid"] = $uid;
            $response["user"]["name"] = $name;
            $response["user"]["email"] = $email;
        $response["user"]["registration_date"] = $registration_date;
            $response["user"]["updated_at"] = $updated_at;
            echo json_encode($response);
            $stmt->close();

        if  ($response["success"] = 1 ){
            $qry = "SELECT device_name, device_registration_date FROM devices WHERE parent_id =?";
            $stmt = $mysqli->prepare($qry);
            $stmt->bind_param('s',$uid);
            $stmt->store_result();
            $stmt->bind_result($device_name, $device_registration_date); // get variables from result.
            $stmt->fetch();
            $response2["device"]["device_name"] = $device_name;
            $response2["device"]["device_registration_date"] = $device_registration_date;
            echo json_encode($response2);
            }

  else if ($tag = 'register' ... blah blah blah .....
4

2 に答える 2

2

これで問題が解決することを願っています:

if ($response["success"] = 1 ){

次のようにする必要があります。

if ($response["success"] == 1 ){

(if で 2 つの等しい)

于 2013-09-21T14:34:05.057 に答える