何らかの理由でこれが正常に機能しますが、共有ホストに置くと次のエラーメッセージが表示されます。値が渡されており、これはデータベースが空の場合にのみ発生します。データベースに値がない場合、エラーが発生する
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1210 Incorrect arguments to mysqld_stmt_execute
私はのvar_dumpを試してみましたが、これは出力
var_dump($offset);
var_dump($per_page);
var_dump($uid);
float(-10)
int(10)
int(4)
ここでは、事前に私のコーディング
$query = "SELECT COUNT(*) FROM applied WHERE memberID = :memberID";
$stmt = $db->prepare($query);
$stmt->bindParam(':memberID', $uid, PDO::PARAM_INT);
$stmt->execute();
$total = $stmt->fetchColumn();
$pages = ceil($total/$per_page);
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
'options' => array(
'default' => 1,
'min_range' => 1,
),
)));
$offset = ($page - 1) * $per_page;
$query = "SELECT * FROM applied WHERE memberID = :memberID ORDER BY id DESC LIMIT :per_page OFFSET :offset";
$stmt = $db->prepare($query);
$stmt->bindParam(':per_page', $per_page, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->bindParam(':memberID', $uid, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll();
感謝です、お時間
唯一の解決策は、テーブル上の行がなくてもコードを修正することです。あなたはあなたのシステムを知っています、あなただけがこの状況でデータ無しで何をすべきかを決めることができます – RiggsFolly
WAMPでもテーブルに行がないと失敗するので、無関係です – RiggsFolly
あなたは正しい@RiggsFolly –