0

1 つのテーブルから大量の情報を選択する関数が 1 つあります。次に、別の関数を起動して、別のテーブルから情報を取得します。

短縮されたコードは次のとおりです。

$con = new mysqli("localhost", "user", "password");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$con->select_db("stories_test");

getStories($con);

function getStories($con) {
    ... //get's a load of data from one table
    $result = getStoryName($con, $stringstoryid);
    ... //More stuff here
}

function getStoryName($con) {
    $newquery = "SELECT storyname, genre FROM stories WHERE storyid = 'Anewstory9856'";
    if ($stmt = $con->prepare($newquery)) {
        echo $newquery;
        $stmt->execute();
        $stmt->bind_result($storname, $genre);
        while ($stmt->fetch()) {
            $resultarray = array (
                'storname' => $storname,
                'genre' => $genre
            );
        }
    }
    else {
        echo 'statement failed';
    }
    return $resultarray;
}

私が得るのは、2番目のクエリからの「ステートメントが失敗しました」だけです。別のスクリプトでまったく同じクエリを独自に試してみましたが、正常に動作しますが、ここでは「準備」で失敗するようです。

誰にも手がかりはありますか?

4

0 に答える 0