php查询mysql有几条,php / mysql有多个查询

$query1 = "CREATE VIEW current_rankings AS SELECT * FROM main_table WHERE date = X";

$query2 = "CREATE VIEW previous_rankings AS SELECT rank FROM main_table WHERE date = date_sub('X', INTERVAL 1 MONTH)";

$query3 = "CREATE VIEW final_output AS SELECT current_rankings.player, current_rankings.rank as current_rank LEFT JOIN previous_rankings.rank as prev_rank

ON (current_rankings.player = previous_rankings.player)";

$query4 = "SELECT *, @rank_change = prev_rank - current_rank as rank_change from final_output";

$result = mysql_query($query4) or die(mysql_error());

while($row = mysql_fetch_array($result)) {

echo $row['player']. $row['current_rank']. $row['prev_rank']. $row['rank_change'];

}

?>

所有查询都独立工作,但我真的很难将所有部分组合在一个结果中,所以我可以将它与mysql_fetch_array一起使用.

我试图创建视图以及临时表,但每次它表示表不存在或返回一个空的fetch数组循环…逻辑是存在但语法搞砸了我认为这是我第一次不得不处理多个查询我需要合并在一起.期待一些支持.非常感谢.

解决方法:

感谢php.net我提出了一个解决方案:你必须使用(mysqli_multi_query($link,$query))来运行多个连接查询.

/* create sql connection*/

$link = mysqli_connect("server", "user", "password", "database");

$query = "SQL STATEMENTS;"; /* first query : Notice the 2 semicolons at the end ! */

$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */

$query .= "SQL STATEMENTS;"; /* Notice the dot before = and the 2 semicolons at the end ! */

$query .= "SQL STATEMENTS"; /* last query : Notice the dot before = at the end ! */

/* Execute queries */

if (mysqli_multi_query($link, $query)) {

do {

/* store first result set */

if ($result = mysqli_store_result($link)) {

while ($row = mysqli_fetch_array($result))

/* print your results */

{

echo $row['column1'];

echo $row['column2'];

}

mysqli_free_result($result);

}

} while (mysqli_next_result($link));

}

标签:php,mysql

来源: https://codeday.me/bug/20190916/1807416.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值