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番目のクエリからの「ステートメントが失敗しました」だけです。別のスクリプトでまったく同じクエリを独自に試してみましたが、正常に動作しますが、ここでは「準備」で失敗するようです。
誰にも手がかりはありますか?