我正在运行的特定 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/