1

さて、私はmySQLがあまり得意ではありません。ここで私がやろうとしているのは、2つのテーブルを結合する ことです。テーブル1. users 2. comments からユーザー名とプロフィール写真usersを取得し、テーブルからコメントとdate_postedを取得するコメントシステムを作成しようとしていcommentsます。

これが私の質問です:

$mem_query = mysql_query("SELECT `comments`.`comment_id` AS `comments_id`, `users`.`user_id` AS `users_id`, `users`.`username`,`users`.`profile_pic`,`comments`.`txt_content`,`comments`.`date_posted` FROM `comments` INNER JOIN `users` ON `users`.`user_id` = `comments`.`user_id` WHERE `comments`.`post_id` = '$post_id'");

そして、whileループを使用してクエリを実行したいと思います。

while($run_mem = mysql_fetch_array($mem_query)){
    $comment_id = $run_mem['comments_id'];
    $txt_content = $run_mem['comments.txt_content'];
    $profile_pic = $run_mem['users.profile_pic'];

?>
    //Run all the comments depending upon the post_id.
<?php
        }
?>

今のところ、それは私にこのエラーを与えています:-これは私の2回目の更新後に表示されていません。

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\simpleblog\view.php on line 73

どうすれば修正できますか?ありがとう。

PS:「mysql_query」がPHPで非推奨になっていることは知っています。後で変更します。PS 2:クエリをからに修正しtable.columnましたtablecolumnただし、エラーは表示されませんが、データベースから情報を取得することはありません。

4

3 に答える 3

3

`記号を見てください。次のようになります。

`table`.`column`

ではなく:

`table.column`
于 2013-03-20T23:30:43.900 に答える
2

クエリに大きな構文エラーがあります。

SELECT `comments.comment_id` AS `comments_id`, `users.user_id` AS `users_id`, `users.username`,`users.profile_pic`,`comments.txt_content`,`comments.date_posted` FROM `comments` INNER JOIN `users` ON `users.user_id` = `comments.user_id` WHERE `comments.post_id` = '$post_id'

する必要があります

SELECT `comments`.`comment_id` AS `comments_id`, `users`.`user_id` AS `users_id`, `users`.`username`,`users`.`profile_pic`,`comments`.`txt_content`,`comments`.`date_posted` FROM `comments` INNER JOIN `users` ON `users`.`user_id` = `comments`.`user_id` WHERE `comments`.`post_id` = '$post_id'

あなたはこれを書いた: `comments.user_id`しかしそれはこれでなければならない:`comments`.`user_id`そしてあなたがそれを間違えたほとんどすべての位置でそれ

于 2013-03-20T23:30:20.797 に答える
0

http://www.php.net/manual/en/function.mysql-query.php

SELECT、SHOW、DESCRIBE、EXPLAIN、および結果セットを返すその他のステートメントの場合、mysql_query()は成功した場合はリソースを返し、エラーの場合はFALSEを返します。

後者が起こったようです。エラーが発生し、mysql_query呼び出しがfalseを返しました。

于 2013-03-20T23:27:56.337 に答える