我正在字符串中从sql数据库中显示php中的结果MySQL语句是正确的,可以在phpMyAdmin中执行我想要的操作,但由于某种原因,我的代码在网页中中断
这是代码
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'];
}
您需要执行while循环以从SQL查询中获得结果,如下所示:
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);
}
这会给你结果。
while
循环都不适用于我,它们没有抛出错误,但它们的回声是空的。它在使用foreach
时起作用:
foreach($result as $row) {
//echo $row['column_name']; // Print a single column data
echo print_r($row); // Print the entire row data
}
想法来自:PDO循环通过并打印fetchAll
我不得不更改
$result = mysql_query($sql);
至
$result = $conn->query($sql);
然后使用foreach(由于问题42)
$result = $conn->query($sql);
foreach($result as $row) {
echo $row['column_name'];
}
不知道这是否重要,但是,我在一家托管公司:Apache 2.4.51版PHP版本7.3.33MySQL版本5.6.41-84.1
$query ="
SELECT
*
FROM
users
";
die($query);
在这种情况下,您在浏览器上打印的查询复制此查询并在SQL Server上运行。