mysqli_query没有输出

时间:2016-03-02 23:27:47

标签: php html mysql mysqli

我一直在尝试使用php和mysql创建一个简单的登录脚本。我能够连接到数据库并在其中输入数据,但我无法使用SELECT从数据库中获取数据。

这是我的注册码(有效):

<?php

include_once "dbconnect.php";

$email = $_POST['email'];
$username = $_POST['username'];
$password = md5($_POST['password']);

$insert = "INSERT INTO users (username, email, password) VALUES  ('$username','$email','$password')";

if ($mysqli->query($insert) === TRUE) {

?>
    <script>alert('successfully registered ');</script>
    <?php
}else {
?>
<script>alert('error'); </script>

<?php
}


  header( 'register.html' );
  mysqli_close($mysqli);
?>

然后这是我的登录代码(不起作用):

<?php
  session_start();
require_once("dbconnect.php");
?>
<br>
<?php
$username = $_POST['username'];
$password = md5($_POST['password']);
echo "error: ";
echo mysqli_error($mysqli);

?>
<br>
<?php
echo "username: ", $username;
$query = "SELECT password FROM users WHERE username='$username'";

$queryfinal = $mysqli->query($query, $mysqli);

$encpassword = md5($password);


?>
<br>
<?php
echo "password: ";
echo $encpassword;
?>
<br>
<?php
echo "query: ";
echo $queryfinal;
if ($queryfinal == $encpassword) {


  $_SESSION["username"] = "$username";

  header('Location: https://ruofftechnologies.com/login1/home.html');


} 
else {
session_destroy();
?>
<br>
<?php
echo "failed";
}
?>

当我输入密码为“hi”的用户名“hi”时,我的登录代码才会返回此信息:

“已成功连接 错误: 用户名:嗨 密码:179085fcac495de6d84339f8e3b11a34 查询: 失败“

非常感谢任何帮助!

-Gabriel

1 个答案:

答案 0 :(得分:2)

<div class="container">
  <div class="one">
  </div>
  <div class="two"></div>
  <div class="two"></div>
</div>

返回$queryfinal = $mysqli->query($query, $mysqli); 个对象。

mysqli_result

返回一个字符串。

$encpassword = md5($password);

将字符串与非字符串对象进行比较,因此它总是返回 if ($queryfinal == $encpassword) {

从结果中获取数据比仅仅转换为字符串更复杂。&#34; false包含一个或多个数据,每个行包含一个或多个列。要导航此数据结构,您可以使用各种mysqli_result函数。在你的情况下,我会使用

mysqli_result::fetch_*

这会将结果的当前行提取到名为$resultrow = $queryfinal->fetch_assoc(); $resultpwd = $resultrow['password']; 的关联数组中,然后检索名为$resultrow的数组元素。