Мастер WhatsApp не может обновить правильные поля - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть мастер, который собирает информацию с помощью WhatsApp API, который в бета-версии в соответствии с Twilio Docs. Я могу заставить его отправлять и получать информацию от пользователей. Теперь я хочу использовать его для заполнения соответствующих полей в таблице MySQL под названием travel, но я не понимаю, почему он не может заполнить поля соответствующим образом. Вот скрипт, который я использую

$twilio = new Client($sid, $token);

$number = $_POST['From'];
$body = $_POST['Body'];


$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "twilio";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$query = "select * from travel where telephone_number = '$number' AND msg = 'UNDONE'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);

$rc = $result->num_rows;
$t = time();

$telephone_number = $row['telephone_number'];
$q1_field = $row['where_are_u_travelling_to'];
$q2_field = $row['where_are_you_travelling_from'];
$q3_field = $row['are_you_ready_to_go_on_next_bus'];
$q4_field = $row['how_many_people'];
$msg = $row['msg'];

if($rc == 0){
    $sql = "INSERT INTO travel (telephone_number,last_updated,msg)
            VALUES ('$number','$t','UNDONE')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    }

    $message = $twilio->messages
                  ->create("$number",
                           array(
                               "body" => "Welcome To The Booking System.Where are you travellig to?",
                               "from" => "whatsapp:+14"
                           )
                  );


    print($message->sid);

}

//First
if(empty($q1_field) &&  empty($q2_field) && empty($q3_field) && empty($q4_field) && $msg == "UNDONE"){

    $sql_01 = "UPDATE travel SET
                    where_are_u_travelling_to='$body',
                    last_updated='$t' 
                WHERE telephone_number='$number'";

    if ($conn->query($sql_01) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }

    $message = $twilio->messages
                  ->create("$number",
                           array(
                               "body" => "Where are you travelling from?",
                               "from" => "whatsapp:+14"
                           )
                  );


    print($message->sid);
    exit();
}

//Second
if(!empty($q1_field) &&  empty($q2_field) && empty($q3_field) && empty($q4_field) && $msg == "UNDONE"){

    $sql_02 = "UPDATE travel SET    
                where_are_u_travelling_from='$body',
                last_updated='$t' 
                WHERE telephone_number='$number'";

    if ($conn->query($sql_02) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }


    $message = $twilio->messages
                  ->create("$number",
                           array(
                               "body" => "Are you ready to go on the next bus?",
                               "from" => "whatsapp:+14"
                           )
                  );


    print($message->sid);
    exit();
}

//Third
if(!empty($q1_field) &&  !empty($q2_field) && empty($q3_field) && empty($q4_field) && $msg == "UNDONE"){
    $sql_03 = "UPDATE travel SET 
                are_you_ready_to_go_on_next_bus='$body',
                last_updated='$t' 
                WHERE telephone_number='$number'";

    if ($conn->query($sql_03) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }
    $message = $twilio->messages
                  ->create("$number",
                           array(
                               "body" => "How many people are travelling?.",
                               "from" => "whatsapp:+14"
                           )
                  );


    print($message->sid);
    exit();
}

//Fourth
if(!empty($q1_field) &&  !empty($q2_field) && !empty($q3_field) && empty($q4_field) && $msg == "UNDONE"){
    $sql_04 = "UPDATE travel SET 
                    how_many_people='$body',
                    last_updated='$t',msg='DONE' 
                WHERE telephone_number='$number'";

    if ($conn->query($sql_04) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }
    $message = $twilio->messages
                  ->create("$number",
                           array(
                               "body" => "Thank you for travelling with us.Yur ticket has been booked.",
                               "from" => "whatsapp:+14"
                           )
                  );


    print($message->sid);
    exit();
}

Это схема mysql

CREATE TABLE `travel` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `telephone_number` VARCHAR(50) NULL DEFAULT NULL,
    `where_are_u_travelling_to` VARCHAR(50) NULL DEFAULT NULL,
    `where_are_you_travelling_from` VARCHAR(50) NULL DEFAULT NULL,
    `are_you_ready_to_go_on_next_bus` VARCHAR(50) NULL DEFAULT NULL,
    `how_many_people` VARCHAR(50) NULL DEFAULT NULL,
    `msg` VARCHAR(50) NULL DEFAULT NULL,
    `last_updated` VARCHAR(50) NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
AUTO_INCREMENT=1
;

Обновляется только самое первое обновление, а не другие поля. Почему это?

...