php执行多行语句怎么写,php – 使用预准备语句获取多行

我对准备好的陈述很陌生,我不确定我是否做得对.

这是我尝试的:

$currgame = 310791;

$sql = "SELECT fk_player_id, player_tiles, player_draws, player_turn, player_passes, swapped FROM ".$prefix."_gameplayer WHERE fk_game_id = ?";

$stmt = $mysqli->stmt_init();

$data = array();

if($stmt->prepare($sql)){

$stmt->bind_param('i', $currgame);

$stmt->execute();

$fk_player_id = null; $player_tiles = null; $player_draws = null; $player_turn = null; $player_passes = null; $swapped = null;

$stmt->bind_result($fk_player_id, $player_tiles, $player_draws, $player_turn, $player_passes, $swapped);

$res = $stmt->get_result();

while ($row = $res->fetch_assoc()){

$data[] = $row;

}

$stmt->close();

}

// to display own games

foreach ($data as $row) {

if ($row['fk_player_id'] == $playerid) {

$udraws = $row['player_draws']+1;

$upass = $row['player_passes'];

$uswaps = $row['swapped'];

echo 'uDraws: '.$udraws.'
';

echo 'uPass: '.$upass.'
';

echo 'uSwaps: '.$uswaps.'
';

}

}

// to display other games

foreach ($data as $row) {

if ($row['fk_player_id'] != $playerid) {

$opponent = $row['fk_player_id'];

$oppTiles = $row['player_tiles'];

$odraws = $row['player_draws']+1;

$opass = $row['player_passes'];

$oswaps = $row['swapped'];

echo 'oID: '.$opponent.'
';

echo 'oTiles: '.$oppTiles.'
';

echo 'oDraws: '.$odraws.'
';

echo 'oPass: '.$opass.'
';

echo 'oSwaps: '.$oswaps.'
';

}

}

尝试运行时遇到“ServerError”:它是“$res = $stmt-> get_result();”这会导致错误,但不确定原因.请帮忙.

提前致谢 :-)

####编辑

$sql = "SELECT fk_player_id, player_tiles, player_draws, player_turn, player_passes, swapped FROM ".$prefix."_gameplayer WHERE fk_game_id = ?";

$stmt = $mysqli->stmt_init();

$data = array();

if($stmt->prepare($sql)){

$stmt->bind_param('i', $currgame);

$stmt->execute();

$fk_player_id = null; $player_tiles = null; $player_draws = null; $player_turn = null; $player_passes = null; $swapped = null;

$stmt->bind_result($fk_player_id, $player_tiles, $player_draws, $player_turn, $player_passes, $swapped);

while ($row = $stmt->fetch()){

$data[] = $row;

}

$stmt->close();

}

echo '

';

print_r($data);

echo '

';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值