-1

ユーザーがクリックした投稿に応じて変化する動的ページを作成しています。また、ページが読み込まれるたびに、ページのビュー (ヒットカウンター) が 1 つ上がるようにしたいと考えています。現在、次のエラーが発生しています。

致命的なエラー: 13 行目の C:\Users\PC\Documents\XAMPP\htdocs\post.php の非オブジェクトに対するメンバー関数 bind_param() の呼び出し

<?php
session_start();
include 'php/config.php';
$post = $_GET['post'];
$stmt = $mysqli->prepare("SELECT * FROM forum WHERE ForumId = '$post'");
$stmt->execute();
$stmt->bind_result($ForumId,$ForumTitle,$ForumPostText,$PostDate,$Views);
$stmt->fetch();
$stmt->close();

$Views = 1;
$stmt = $mysqli->prepare("UPDATE 'forum' SET 'Views' = 'Views'+ 1 WHERE 'ForumId' = '?' ");
$stmt->bind_param('i',$post);
$stmt->execute();
$stmt->close();


?>  
<!DOCTYPE html>
// The rest of the webpage yada yada yada
4

4 に答える 4

0

クエリに問題があるようです。

PDOステートメントには一重引用符が必要ないことに注意してください

これを試してください:

$stmt = $mysqli->prepare("UPDATE forum SET Views = Views+ 1 WHERE ForumId = ?");
$stmt->bind_param('i', $post);
于 2014-02-12T15:07:43.540 に答える
0
<?php
session_start();
include 'php/config.php';
$post = $_GET['post'];
$stmt = $mysqli->prepare("SELECT * FROM forum WHERE ForumId = $post");
$stmt->execute();
$stmt->bind_result($ForumId,$ForumTitle,$ForumPostText,$PostDate,$Views);
$stmt->fetch();
$stmt->close();

$Views = 1;
$stmt = $mysqli->prepare("UPDATE forum SET Views = Views + 1 WHERE ForumId = ?");
$stmt->bind_param('i', $post);
$stmt->execute();
$stmt->close();


?>  
<!DOCTYPE html>
于 2014-02-12T15:08:24.057 に答える