0

PHP を使用して mySQL データベースからフィールドを取得する必要があります。問題は、mysql パネルで次の SQL コードを使用することです。

SELECT * FROM TESTS WHERE TEST_ID=1

そして、私が望むものを正確に取得します(表示したい行が表示されます)しかし、PHPでこのコードを使用すると:

<?php
$con=mysql_connect("localhost", "root", "psw")  or die("\nConnection Failed\n");

mysql_select_db("mydb")or die("\nDB Failed\n");

$query = "SELECT * FROM TESTS WHERE TEST_ID=1";
$result=mysql_query($query);

echo $result;
mysql_close($con);
?>

私が得るのは「リソースID#3」だけです

どうして??

4

5 に答える 5

3

気を付けて :

この拡張機能はPHP5.5.0で非推奨になり、将来削除される予定です。代わりに、MySQLiまたはPDO_MySQL拡張機能を使用する必要があります。

于 2013-01-16T09:29:14.737 に答える
3

$ resultは、mysqlからの結果セットへのリンクであるリソースです。実際のデータを取得するには、次のような操作を行う必要があります。

$data = mysql_fetch_assoc($result);
print_r($data);

取得する行ごとにmysql_fetch_assoc()呼び出しを繰り返す必要があります。これは、falseが返され、行がもうないことを示します。これは、次のようにwhileループで実行できます。

while ($data = mysql_fetch_assoc($result)) {
    print_r($data);
}
于 2013-01-16T09:29:57.680 に答える
1

あなたが使用することができますmysql_fetch_assoc

$result=mysql_query($query);
while ($row = mysql_fetch_assoc($result)) 
{
    echo $row["userid"]; // sample column
    echo $row["fullname"];
    echo $row["userstatus"];
}
于 2013-01-16T09:26:51.620 に答える
1

必要な結果セットの代わりにMySQLリソースを受け取りました。結果へのポインタのみを受け取りました。

必要な結果セットを取得するには、、などmysql_fetch_objectの関数を使用する必要があります。こちらのマニュアルを確認してください。mysql_fetch_assocmysql_fetch_row

http://php.net/manual/en/book.mysql.php

于 2013-01-16T09:27:19.197 に答える
0

任意の変数で結果をフェッチして、それが機能することを出力してみてください。
このような :

<?php
$con=mysql_connect("localhost", "root", "psw")  or die("\nConnection Failed\n");

mysql_select_db("mydb")or die("\nDB Failed\n");

$query = "SELECT * FROM TESTS WHERE TEST_ID=1";
$result=mysql_query($query);

$row = mysql_fetch_array($result)
print_r($row);

mysql_close($con);
?>

これがあなたを助けることを願っています... :)

于 2013-01-16T09:30:15.350 に答える