私はSQLデータベースからPHPの結果を表示しようとしています
ここにコードがあります
require_once('db.php');
$sql="SELECT * FROM modul1open WHERE idM1O>=(SELECT FLOOR( MAX( idM1O ) * Rand( ) ) FROM modul1open)
ORDER BY idM1O LIMIT 1"
$result = mysql_query($sql);
echo [$result];
一般に、テーブルIDによって最小から最大に制限された乱数が必要です
クエリから取得した結果セットの各行からデータを取得する必要があります。これにはmysql_fetch_array()
を使用できます。
// Process all rows
while($row = mysql_fetch_array($result)) {
echo $row['column_name']; // Print a single column data
echo print_r($row); // Print the entire row data
}
コードをこれに変更します:
require_once('db.php');
$sql="SELECT * FROM modul1open WHERE idM1O>=(SELECT FLOOR( MAX( idM1O ) * Rand( ) ) FROM modul1open)
ORDER BY idM1O LIMIT 1"
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
echo $row['fieldname'];
}
次のように、SQLクエリから結果を取得するには、whileループを実行する必要があります。
require_once('db.php');
$sql="SELECT * FROM modul1open WHERE idM1O>=(SELECT FLOOR( MAX( idM1O ) * Rand( ) )
FROM modul1open) ORDER BY idM1O LIMIT 1";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
// If you want to display all results from the query at once:
print_r($row);
// If you want to display the results one by one
echo $row['column1'];
echo $row['column2']; // etc..
}
また、mysql_ *は廃止されているため使用しないことを強くお勧めします。代わりに、mysqli
またはPDO
拡張子を使用します。詳細については、こちらをご覧ください こちら 。
Mysql_queryを使用してクエリ結果を直接表示することはできません。mysqlでクエリを実行するのはそれだけです。
結果を得るには、スクリプトに次のものを追加する必要があります。
require_once('db.php');
$sql="SELECT * FROM modul1open WHERE idM1O>=(SELECT FLOOR( MAX( idM1O ) * Rand( ) ) FROM modul1open) ORDER BY idM1O LIMIT 1";
$result = mysql_query($sql);
//echo [$result];
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
print_r($row);
}
これにより結果が得られます。