当我测试它时,它一直告诉我:
我有一些想法,为什么它不能正常工作,但我不会犯这个错误!
我的代码:
<?php
session_start();
if(!$_SESSION)
{
if($_POST)
{
if(isset($_POST['button']) && $_POST['username'] && $_POST['password'])
{
$db = "datenbank";
$connection = mysqli_connect("localhost", "root", "");
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = mysqli_real_escape_string($connection, $_POST['password']);
if($connection)
{
$selection = mysqli_select_db($connection,$db) ;
if($selection)
{
$query = "SELECT * ALL FROM 'main' WHERE username ='$username' AND password = '$password'";
$mysql_query = mysqli_query($connection, $query);
$checkuser = mysql_num_rows($mysql_query);
if($checkuser)
{
$_SESSION['username'] = $username;
?>
<script type="text/javascript">
alert("Succesfully logged in!");
window.location.href = "myaccount.php";
</script>
<?php
}
else
{
echo "This user does not exist!" ;
}
}
}
}
}
else
{
echo "Please fill out all the fields!";
}
}
else
{
?>
<script type="text/javascript">
alert("Already logged in!");
window.location.href = "myaccount.php";
</script>
<?php
}
?>
我的数据库的名称是&#34; datenbank&#34;
并且该表被称为&#34; main&#34;。
答案 0 :(得分:2)
每当出现此错误时,原因都是SQL无效。如果查询本身失败,则mysqli_query()
会返回false,请参阅http://php.net/manual/en/mysqli.query.php
在这种情况下:
SELECT * ALL
可能不是正确的SQL。应该是SELECT * FROM...
mysql_
并转到mysqli_
- 正如您已经在使用mysqli_query()
另一个提示是自己发现这样的错误:echo $query;
就在$mysql_query...
行之上。这将打印您实际的SQL。然后在phpMyAdmin中运行此SQL以查看它是否有效。
答案 1 :(得分:0)
从查询中删除ALL
。只有*
才能完成工作。