我有一个登录页面(没有任何保护,即时将去设置它们)但每次我运行任何查询时,即使是一个简单的SELECT * FROM 'player'
,$risultato
总是错误的。我已经检查过所有连接信息是否正确(它们在注册页面中工作)。有人知道为什么吗?查询总是返回false - PHP MYSQL
的login.php
<?php
$connessione = mysqli_connect("localhost", "my_id", "my_pass", "my_db");
$user_name = $_GET['user_name'];
$user_pass = $_GET['user_pass'];
$query = "SELECT username FROM 'player';";
$risultato = mysqli_query($connessione, $query); <---- !!always false!!
$count = mysqli_num_rows($risultato); <---- it say that he receved a boolean (false)
if ($count != 1) {
echo "Nessun risultato.";
}else{
$row = mysqli_fetch_assoc($risultato);
$name = $row['username'];
}
编辑:
我的工作register.php:
<?php
$connessione = mysqli_connect("localhost", "my_id", "my_pass", "my_db");
$user_name = $_POST['user_name'];
$user_pass = $_POST['user_pass'];
$query = "INSERT INTO `player` (`username`, `password`, `money`) VALUES ('".$user_name."', '".$user_pass."', '100');";
$risultato = mysqli_query($connessione, $query);
if($risultato){
http_response_code(200);
}else{
http_response_code(400);
}
编辑#2:
这个心不是工作压力太大:
<?php
$connessione = mysqli_connect("localhost", "id2967178_fyruz", "Ferru9800", "id2967178_collectcards");
echo mysqli_error($connessione);
$user_name = $_GET['user_name'];
$user_pass = $_GET['user_pass'];
$query = "SELECT username FROM `player`";
$risultato = mysqli_query($connessione, $query);
$count = mysqli_num_rows($risultato);
if ($count != 1) {
echo "Nessun risultatooooo.";
}else{
$row = mysqli_fetch_assoc($risultato);
$name = $row['username'];
}
它是错误的,因为您的查询失败或连接不起作用 – clearshot66
注意:mysqli的面向对象的接口明显较少冗长,使得代码更易于阅读和审计,并且不易与过时混淆'mysql_query'界面。在你过于投入程序风格之前,它是值得转换的。例如:'$ db = new mysqli(...)'和'$ db-> prepare(“...”)过程接口是PHP4时代的一个神器,当引入mysqli API时,不应该在新的代码 – tadman
很多问题都可以通过[在mysqli中启用例外]来检测和解决(https://stackoverflow.com/questions/14578243/turning-query-errors-to-exceptions-in-mysqli),所以错误不要轻易忽略 – tadman