私はプログラミングに不慣れで、最初のWebアプリを作成しようとしています。ユーザーがログインしてリンクのリストを表示し、このリストから自分のアカウントにリンクを保存/ブックマークできるサイトを構築しています。最終的には、ユーザーが独自のリンクを作成できる機能を追加できるようにしたいと思います。
これまでのところ、次のような3つのテーブルに情報を格納することを計画しています。
ユーザーテーブルuser_id | ユーザー名| パスワード
リンクテーブルlink_id | link_name | link_URL
ブックマークテーブルbookmark_id | user_id | link_id
次のように、クエリを実行して、特定のuser_idに属するブックマークテーブルからすべてのlink_idのリストを取得すると考えました。
$connection = mysql_connect('localhost', 'root', 'password') or die(mysql_error());
mysql_select_db("array-test",$connection) or die(mysql_error());
$query_link_id = "
SELECT link_id FROM bookmarks WHERE user_id =2
";
$query_result = mysql_query($query_link_id,$connection);
$link_id_array = mysql_fetch_array($query_result, MYSQL_BOTH);
配列をエコーアウトすると、列の最初の行である1つの値しかありません。同じクエリをphpadminで直接実行すると、複数の値を持つ列が表示されます。ここで何が間違っているのかわかりません。
値を配列に格納することは、これを行う正しい方法ですか?どういうわけかlink_idsを配列に入れ、それぞれを変数に変えてから、別のクエリを実行して残りのリンク情報を取得する必要があります。私はこれにかなり固執していると感じており、私は数日間解決策を探していました。私はどんな助けと洞察にも感謝します。ありがとう!
mysql_fetch_array()
- Returns an array that corresponds to the fetched row and moves the internal data pointer ahead
- http://php.net/manual/en/function.mysql-fetch-array.php
配列をループする必要があります。
while($link_id_array = mysql_fetch_array($query_result, MYSQL_BOTH)){
$new_array[] = $link_id_array;
}
ドキュメントから
この拡張機能はPHP5.5.0で非推奨になり、将来削除されることに注意してください。代わりに、MySQLiまたはPDO_MySQL拡張機能を使用する必要があります。詳細については、MySQL:APIガイドの選択および関連するFAQも参照してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加