我正在运行特定的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 喜欢&#39; $ server%&#39;
我正在寻找能否实现我想做的事情。追加..我猜字符串附加是可能的,但我只是不知道从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)
答案 0 :(得分:2)
尽量避免PHP循环中的SQL,你可以改为:
SELECT * FROM serverTable WHERE servername IN
('server_0', 'server_1', 'server_2', 'server_3', 'server_4')