0

我有一个使用whatsapp api收集信息的向导,根据twilio docs,它是beta版。我可以让它发送和接收来自用户的信息。我现在想用它来填写一个名为 travel 的 mysql 表中的适当字段,但我不明白为什么它不能正确填写这些字段。这是我正在使用的脚本

$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
;

只有第一个更新不断更新,而不是其他领域。这是为什么?

4

0 回答 0