这里是我的代码:为什么一个查询返回正确的值,但是返回0后的那个正确的值?
$stmt1 = $db->prepare("SELECT wins FROM users WHERE id = ?");
$stmt2 = $db->prepare("SELECT losses FROM users WHERE id = ?");
$stmt1->bind_param("i", $_SESSION["id"]);
$stmt2->bind_param("i", $_SESSION["id"]);
$stmt1->bind_result($db_wins);
$stmt2->bind_result($db_losses);
$stmt1->execute();
$stmt2->execute();
$stmt1->fetch();
$stmt2->fetch();
// Print out user scores
echo "<p><strong>User:</strong> " . $_SESSION["username"] . "</p>\n";
echo "<p><strong>Wins:</strong> " . $db_wins . "</p>\n";
echo "<p><strong>Losses:</strong> " . $db_losses . "</p>\n";
一切正常打印,除了损失,打印0时,它应该打印在表中的值。
点注意事项:
- 它打印出的值按预期一点点下来的页面,但不使用准备语句。
- 如果我在phpMyAdmin(返回0的查询)或Sequel Pro中运行它,它将返回正确的损失值。
为什么不选择'SELECT赢,从用户WHERE id =?丢失',然后从结果数组中获取两个字段? – 2013-02-22 20:50:46
几乎总是比在两个查询中获取不同列的查询中的两列更好。 – tadman 2013-02-22 20:51:56
辉煌,Kolink。卫生署。 – 2013-02-22 21:07:33