我的网站上有登录和注册php系统。它工作得很好。但是我想在数据库中添加另一列。这是平衡。我想显示用户的余额'当他们登录网站时。 我试图通过使用这个来选择余额数据:
em.persist(entity)
我是php编程的新手,因此我不确定这段代码有什么问题。 sql数据库如下所示:
<?php
$balance = mysqli_query("SELECT balance FROM users WHERE username='$username'
AND password='$password'");
echo $balance
?>
我会从我的代码中假设变量$ balance将根据收到的值设置,如果登录页面上输入的用户名和密码是在数据库中找到的。将打印与此相关的余额。 这包含在我的网页html部分中,用于显示余额值:
id username email password balance
test test test test test
在测试网站时,我收到以下错误
警告:mysqli_query()需要至少2个参数,1在第3行的D:\ Windows \ xampp \ htdocs \ TESTSITE \ FrontPage.php中给出
我试图通过研究来解决这个问题,但我无法找到解决方案。欢迎任何解决方案,因为我已经停止了开发。
此外,我知道这是非常不安全的,我将确保在网站上线时代码更加安全。我现在只是在测试。
答案 0 :(得分:1)
你有4个问题。
query
函数需要参数1作为连接对象。query
函数返回需要获取的结果对象。这是一个应该运行的更新版本。这假定$conn
是您的连接。
<?php
$stmt = mysqli_prepare($conn, "SELECT balance FROM users WHERE username=? AND password=?");
mysqli_stmt_bind_param($stmt, 'ss', $user, $password);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $balance);
mysqli_stmt_fetch($stmt);
echo $balance;
?>
这不考虑散列。请参阅http://php.net/manual/en/function.password-hash.php和http://php.net/manual/en/function.password-verify.php。您需要在当前哈希数据库中的所有值。
答案 1 :(得分:-2)
如果你使用的是mysqli,你必须这样设置:
$balance = mysqli_query($connection,"SELECT balance FROM users WHERE username='$username'
AND password ='$ password'“); // $ connection是您的连接配置。
您必须从输入中获取价值,如下所示:
$email = $_POST['email'];
$pass = $_POST['pass'];
然后从查询中获取布尔值,如下所示:
if($balance) echo 'success' else echo 'wrong';