我正在学习mysql,但我不确定接下来会在这个代码中找到匹配的行作为结果,我该如何获取?
$stmt= $db->prepare("SELECT * FROM users WHERE email=? and password = ?");
$stmt->bind_param("ss", $_POST['user_name'],md5($_POST['user_pass']));
$stmt->execute();
我相信这对你来说很简单,请帮助我学习。
答案 0 :(得分:1)
这里是相关位,紧跟在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上的same page开始,我们从示例#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();