gpt4 book ai didi

php - mysql fetch_assoc_array?

转载 作者:行者123 更新时间:2023-11-29 09:10:38 25 4
gpt4 key购买 nike

这是我的问题

不使用准备好的语句我可以做得很好,例如,

    $qry = "SELECT * FROM accounts WHERE email = '$email'";
$result = mysql_query($qry);
$account = mysql_fetch_assoc($result);
echo '<p>Welcome <strong>' . $account['username'] . '</strong>, Have a good day! And dont forgot your id ' . $account['id'] . '.</p>';

考虑到电子邮件确实与 mysql 数据库上的一行匹配,那么我可以通过简单地执行 $account['gender'], $account['age'] 轻松回显电子邮件匹配的任何其他列。

我在做这件事时遇到了很多麻烦,这是我的尝试;

$q = $dbc -> prepare ("SELECT * FROM accounts WHERE email = ?");
$q -> bind_param ('s', $email);
$q -> execute();
$q -> bind_result();
$info = $q -> fetch();
echo '<p>Welcome ' . $info['username'] . '.</p>';

使用第一种方法,我可以显示电子邮件与该行匹配的任何列中的任何信息,为了安全起见,我切换到准备好的语句,但我正在考虑切换回来,因为它会带来麻烦!

最佳答案

bind_result 接受参数。您将想要设置的变量传递给它,然后调用 fetch

$q->bind_result($username);
$q->fetch();
echo $username;

为此,您需要将 SELECT * 更改为您想要的字段,即 SELECT username

如果您仍然需要使用SELECT *,您可以这样做:

$q->execute();
$r = $q->get_result();
while($row = $r->fetch_array(MYSQLI_ASSOC)){
}

关于php - mysql fetch_assoc_array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5680734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com