我似乎无法弄清楚我做错了什么.因此,当我提交表单时,我收到警告错误
注意:未定义的变量:第30行/Library/WebServer/Documents/ArturoLuna_Final/loginCheck.php中的dbusername
$username = $_POST['username'];
$password = $_POST['password'];
if($username&&$password)
{
require 'conn.php';
$query = "SELECT * FROM users WHERE username='$username'";
$result = $mysql->query($query) or die(mysqli_error($mysql));
$numrows = $result->num_rows;
if ($numrows!=0)
{
while($row = mysql_fetch_assoc($result))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
//check to see if they match!
if($username==$dbusername&&$password==$dbpassword)
{
echo "youre In!";
}
else
echo "incorrect password!";
}
else
die("that user is dead");
//echo $numrows;
}
else
echo ("Please Enter Username")
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
Dav*_*dom 13
更改
while($row = mysql_fetch_assoc($result))
Run Code Online (Sandbox Code Playgroud)
至
while($row = $result->fetch_assoc())
Run Code Online (Sandbox Code Playgroud)
您错过了i函数名称,并混合了OO和过程样式代码,因此您混合了mysql_*结果资源和mysqli_result对象.
您将传统的PHP MySQL函数mysql_*与MySQLi接口混合在一起.在这种情况下,mysql_fetch_assoc()需要使用创建的资源句柄mysql_query().
要检索正确的结果,您需要使用MySQLi的方法:
$row = $result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
当你处于它的时候,你可能想要考虑使代码不易受MySQL注入的影响.在将其插入查询字符串之前正确地转义 任何用户提供的输入,或者更好的是,使用MySQLi 参数绑定工具.
| 归档时间: |
|
| 查看次数: |
21216 次 |
| 最近记录: |