mysqli
の代わりにPDO
とMySQL
を使用しています。 だから、私はこの簡単な関数を定義しよう:mysqliの代わりにPDOとMySqlを使用する
public function getIntro($table) {
$stmt = $this->db->prepare("SELECT * FROM $table ORDER BY rand() LIMIT ?");
$stmt->execute(array(6));
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
をしかし、そうすることで、関数は空の配列を返します。 dbとの接続が正しく動作することを考慮すると、どこにエラーがありますか?
public function getIntro($table) {
$stmt = $this->db->prepare("SELECT * FROM $table ORDER BY rand() LIMIT ?");
$stmt->bindValue(1, 6);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
またはこの:
おかげ
を、あなたはどの行が全く一致していたかどうかを確認するために、 '$ stmt-> rowCount'をチェックしましたか?空の配列=使用可能な行がありません。 –
パラメータを使用すると、rowCountは0で、パラメータを指定しないクエリを使用するとrowCountは0になります。パラメータを使用する際にエラーが発生しますが、使用方法はわかります – user2520969
何か吹き飛ばされた場合は$ stmt-> errorInfoアップ。 –