2016-06-13 17 views
1

私はプログラムが正常に動作し、私のデータベースの下で定義された "forum_name"を取得しようとしていることを除いて、すべてが正常に動作し、私がその投稿やフォーラムのページに行くリンクをクリックすると、forum_nameの下に何が得られ、それをタイトルとして印刷するかがかなり分かります。PHPとMySqlデータベースを使ってWebPagesタイトルを設定する

これは

<?php 
$db = new mysqli("localhost", "root", "","forum") or die("ERROR: With Connecetion"); 
?> 

db_connect.phpであり、これはリセットです:

<?php 
session_start(); 
require"db_connect.php"; 
//get the page id 
if(isset($_GET['id']) &&is_numeric($_GET['id'])){ 
    $id = $_GET['id']; 
}else{ 
    die("Error! Does not exist!"); 
} 
//check if Valid Id 
$idCheck = $db->query("SELECT * FROM forum_tabl WHERE forum_id = 'id'"); 
if($idCheck->num_rows !==0){ 
    die("error"); 
} 
$row = $idCheck->fetch_object(); 
$sql = "SELECT post_id, post_title FROM forum_post WHERE forum_id? AND type= 'o'"; 
if($query = $db->prepare($sql)){ 
    $query->bind_params('s', $id); 
    $query->bind_result($post_id, $post_title); 
    $query->execute(); 
    $query->store_result(); 
} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title><?= $row->forum_name?></title> 
</head> 

<body> 

<div id="container"> 
    <!-- Theres content that will go here --> 
</div> 

</body> 
</html> 
+0

'<?='ショートカットは一部のサーバでは動作しません。試してみましょう '<?php echo $ row-> forum_name; ?> ' – developerwjk

+0

Nopeはまだ動作しません。 @developerwjk私のショートカットは私のサーバー上で動作することがわかりますが、私はエラーが発生します。注意:タイトル行に非オブジェクトのプロパティを取得しようとしています。 –

+0

タイトルは最初のクエリーか2番目のクエリーから来るはずですか?最初のクエリでは、 'id = 'id''はおそらく正しくないでしょう。なぜなら、idはおそらく数字であるはずですからね。 – developerwjk

答えて

0

私は問題がこのラインであると思います。

$idCheck = $db->query("SELECT * FROM forum_tabl WHERE forum_id = 'id'"); 

と次のように置き換える必要があります。

$idCheck = $db->query("SELECT * FROM forum_tabl WHERE forum_id = '$id'"); 
+0

ありがとうございますが、私はまたif文を変更しなければなりませんでした –

+0

はい。この場合、$ idCheck-> num_rowsの代わりにif文$ idCheck-> num_rows == 0を変更する必要があります!== 0 –

+0

これは、 'WHERE forum_id =? 'ではありません。 'bind_param'呼び出しは正しいので、ここで繰り返すことで問題を解決できます。 – tadman

0
<?php 
session_start(); 
require"db_connect.php"; 
//get the page id 
if(isset($_GET['id']) &&is_numeric($_GET['id'])){ 
    $id = $_GET['id']; 
}else{ 
    die("Error! Does not exist!"); 
} 
//check if Valid Id 
$idCheck = $db->query("SELECT * FROM forum_tabl WHERE forum_id = " . $id); 
if($idCheck->num_rows !==0){ 
    die("error"); 
} 
$row = $idCheck->fetch_object(); 
$sql = "SELECT post_id, post_title FROM forum_post WHERE forum_id? AND type= 'o'"; 
if($query = $db->prepare($sql)){ 
    $query->bind_params('s', $id); 
    $query->bind_result($post_id, $post_title); 
    $query->execute(); 
    $query->store_result(); 
} 
?> 

ザ・「ます$ id);。あなたはこの作業を取得するために探しているものであるあなたはを通して行くとなど、すべてのダブルチェックすることをお勧めします。 『』 forum_tablをし、すべてが正しいことを確認してくださいあなたはまだ行っていない場合。

また、余分なことを?物事をめちゃくちゃにすることができるだけでなく、データベースの設定によって、次のことをダブルチェック。

$sql = "SELECT post_id, post_title FROM forum_post WHERE forum_id? AND type= 'o'"; 

運のベスト!

関連する問題