繁体   English   中英

如何在mysqli中获取结果/行

[英]How to fetch the result/row in mysqli

我正在学习mysql,但不确定在此代码中接下来要获取匹配行的结果,我该如何获取?

$stmt= $db->prepare("SELECT * FROM users WHERE email=? and password = ?");
$stmt->bind_param("ss", $_POST['user_name'],md5($_POST['user_pass']));
$stmt->execute();

我相信这对您来说很简单,请帮助我学习。

看一下此页面上的示例#6

这是紧接着bind_param()和execute()之后的相关位:

$out_id    = NULL;
$out_label = NULL;
if (!$stmt->bind_result($out_id, $out_label)) {
    echo "Binding output parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

while ($stmt->fetch()) {
    printf("id = %s (%s), label = %s (%s)\n", $out_id, gettype($out_id), $out_label, gettype($out_label));
}

由于我不知道要使用SELECT *插入哪些列,所以我将仅保留该示例。

您还可以使用fetch_assoc() ,它可能更容易使用,并且最终被更普遍地使用。 从php.net的同一页面上挖掘,我们从示例#8中获得了相关部分(实际上,我不得不对其进行一些修改-示例#8在做一些带有缓冲的时髦事情):

if (!($res = $stmt->get_result())) {
    echo "Getting result set failed: (" . $stmt->errno . ") " . $stmt->error;
}

while ($row = $res->fetch_assoc()) {
    var_dump($row);
}
$res->close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM