私はこれを何時間も試してきましたが、運がありませんでした. 私がオンラインで見つけたすべてのチュートリアルは、PHP を使用して MySQL データベースに接続するためのさまざまな方法を提供しているため、一貫性を見つけるのは困難です。
次のコードを実行すると、取得しようとした値が "0" になります。どうすれば値を取得できますか? これまでのところ、次のコードがあります。
<?php
//Connect to MySQL server
$conn = mysql_connect('XXIP ADDRESSXX', 'XXUSERNAMEXX', 'XXPASSWORDXX') or die(mysql_error()); //Connect to mysql
//Continue if connection successful
if($conn != null) {
$db_selected = mysql_select_db('itemdata', $conn) or die(mysql_error()); //Connect to database using the connection
//Continue if selected database successfully
if($db_selected == true) {
//The statement used to query the database
$query = "SELECT * FROM item_prices";
//Store the results of the query
$result = mysql_query($query, $conn) or die(mysql_error()); //Retrieve all data from the table
//Convert to assoc array
$values = mysql_fetch_assoc($result);
$cost = $values['cost'];
$retail = $values['retail'];
$in_stock = $values['available'];
echo("<p>$cost</p>");
echo("<p>$retail</p>");
echo("<p>$in_stock</p>");
}
else
echo "Unable to connect to database";
}
else
echo "Unable to connect to MySQL Server";
//Close database
mysql_close($conn);
?>
詳細については、デバッグを使用して、コードが最も内側の「if」ステートメントに到達することを確認したため、データベースに適切に接続して選択します。取得しようとした 3 つの変数に対して「0」を受け取るだけなので、エラーはスローされません。(変数スコープの問題ではないことを確認するために、すぐに印刷してみました)。
MySQLへの接続をコーディングしたことがなく、最適な方法を見つけるのに苦労しています(mysqli、mysql、オブジェクト指向などのチュートリアルを見つけました...そしてどれも完全ではありません(ユーザーマニュアルも)。
ありがとう。
編集:データベースの構造は次のとおりです(これまでのところ)
データベース名: itemdata
テーブル名: item_prices
テーブルには 4 つの列があります。
- itemID (主キー) - これが検索対象です (タイプ int)
- コスト (フロート型)
- 小売(フロート型)
- instock (ブール型)
itemID を使用してテーブル内のすべての値を取得しようとしています
最終編集 PHPMyAdmin からテーブルをコピーしました (これはすべてテスト目的のため、データは bs です)
itemID cost retail instock
0 0 0 0
1 100 150 1
2 200 250 1
3 300 350 0
4 400 450 0
5 500 550 1
10 100 150 1
11 200 250 1
12 300 350 0
13 400 450 0
14 500 550 1