php 在 for 循环中运行 mysql_query

标签 php mysql

我正在运行的特定 mysql 查询有不同的参数,所以我需要成堆运行它们..所以说

$server = 'server_';
for ($a=0 ; $a<5 ; ++$a) {
     $criteria = $server . $a;
     $query1 = 'select blabh blah not important ' . $criteria . 'order by date desc limit 10';
     $query_result = mysql_query($query1);

}

以上仅返回 server_4 的结果

我天真地认为我可以做到

$query_result .= mysql_query($query1);

但显然这是行不通的。我希望没有人说你为什么不运行 mysql 就像“$server%”

我正在寻找我想做的事情是否可行。附加..我猜字符串附加是可能的,但我可能根本不明白从 mysql 返回的是什么?

获取代码示例

select * from tableName where server like $criteria order by date desc limit 10

================================================== ========= 代码示例

$data = array(); 
$dataMaster = array();

   for ( $x = 0; $x <= 8; $x++ ) {
           $server = ‘server_’ . $x;
           $myquery = 'select * from serverTable where  servername like ' . '"' .  $server . '"'  . ' order by date1 desc limit 100';


           $query = mysql_query($myquery);
           if ( ! $query ) {
                   echo mysql_error();
                   die;
           }
           for ( $x = 0; $x < mysql_num_rows($query); $x++ ) {
              $data[] = mysql_fetch_assoc($query);
           }

           $data = array_reverse($data);
            array_push($dataMaster, $data);
   }

   echo json_encode($dataMaster)

最佳答案

尽量避免 PHP 循环中的 SQL,您可以执行以下操作:

SELECT * FROM serverTable WHERE servername IN 
('server_0', 'server_1', 'server_2', 'server_3', 'server_4')

关于php 在 for 循环中运行 mysql_query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38883849/

相关文章:

php - 过去 24 小时内行中所有数字的平均值

PHP 方法来查找 Web 服务器的临时路径?

php - VerifyCsrfToken.php 中的 TokenMismatchException 第 67 行 : while integrating paytm with laravel 5. 3

php - MySql/php 中的换行符

php - 将域名重写为 url

php - 复杂的 MySQL 连接与替换列

mysql - 执行 JOIN 时 MySQL 表大小是否重要?

php - SQL 按日期组按产品 ID 计数记录

java - JDBC 和 MySQL 真的很慢,不知道为什么

mysql - 如何使用查询在 mysql 中添加额外的 5 分钟