0

mysqli の学習を始めたばかりで (20 分前)、何か混乱しています。以下の例では、サーバーにデータを挿入できます。関数が成功時に true を返し、失敗時に false を返すようにするにはどうすればよいでしょうか。return trueif ステートメントが true の場合とelse ステートメントを置き換えるのと同じくらい簡単return falseですか、それともそれよりも高度ですか? 成功した場合に true を返し、失敗した場合に false を返したい場合、何を書く必要がありますか?

function insert($firstName, $lastName) {
   if ($stmt = $mysqli->prepare("INSERT INTO CodeCall (FirstName, LastName) values (?, 

   ?)")) {

/* Bind our params */
$stmt->bind_param('ss', $firstName, $lastName);


/* Execute the prepared Statement */
$stmt->execute();

/* Echo results */
echo "Inserted {$lastName},{$firstName} into database\n";

/* Set our params for second query */
$firstName = "John";
$lastName  = "Ciacia";

/* Execute second Query */
$stmt->execute();

    return true;

/* Close the statement */
$stmt->close(); 
    }
    else {
/* Error */
return false;
    }}
4

1 に答える 1

1

execute メソッドを使用して INSERT クエリ (UPDATES および DELETES クエリも) を実行すると、成功すると TRUE が返され、失敗すると FALSE が返されます。したがって、次のようなことができます。

function insert($firstName, $lastName) {
    $stmt = $mysqli->prepare("INSERT INTO CodeCall (FirstName, LastName) values (?, ?)");

    /* Bind our params */
    $stmt->bind_param('ss', $firstName, $lastName);

    /* Execute the prepared Statement */
    if ( $stmt->execute() ) {
        /* Echo results */
        echo "Inserted {$lastName},{$firstName} into database\n";

        /* Set our params for second query */
        $firstName = "John";
        $lastName  = "Ciacia";

        /* Execute second Query */
        $stmt->execute();

        $result = true;
    } else {
        /* Error */
        $result = false;
    }

    /* Close the statement */
    $stmt->close(); 

    return $result;
}
于 2012-09-01T06:24:28.333 に答える