我试图找到类似的问题,但是我不能。至少我不明白答案。今天,我一直在创建一个简单的PHP脚本时遇到了很多麻烦。我有一段时间没有使用PHP,所以我想重建我的知识。但是,当我试图做一个简单的查询与返回的回声效果,这是说类mysqli_result的对象无法在简单查询中转换为字符串
Catchable fatal error: Object of class mysqli_result could not be converted to string in /hermes/bosnaweb12a/b963/ipg.matjasicborutcom1/TouchSoccer/process.php on line 18
我记得我以前代码输出这样和查询一样,但现在它不工作...这里是代码:
<?php
include 'dbinfo.php';
$choice = $_GET['choice'];
$connect = mysqli_connect($hostname, $username, $password, $database);
if (mysqli_connect_errno($connect))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
switch($choice)
{
case "register":
$username = $_GET['username'];
$password = $_GET['password'];
$email = $_GET['email'];
$reg_ip = $_GET['reg_ip'];
$query = mysqli_query($connect, "SELECT username FROM Accounts WHERE username = '$username'");
if($query)
{
echo "username already exists";
}
else {
$insert = mysqli_query($connect, "INSERT INTO Accounts (username, password, email,reg_ip, wins, looses, experience) VALUES ('$username', md5('$password'), '$email', '$reg_ip', '0','0', '0'");
if($insert) {
echo "account successfully created";
}
else {
echo "error";
}
}
break;
case "login":
$username = $_GET['username'];
$password = $_GET['password'];
$user = mysqli_query($connect, "SELECT username FROM Accounts WHERE username = '$username'");
if($user = $username) {
$pw = mysqli_query($connect, "SELECT password FROM Accounts WHERE password = md5('$password')");
if($pw = md5($password)) {
echo "login was successful!";
}
else {
echo "incorrect password";
}
}
else
{
echo "incorrect username";
}
break;
}
mysqli_close($connect);
?>
在此先感谢。所有的答案都非常感谢!
改变你的'if($ user = $ username){'和其他所有你试图*比较*两个值来使用'=='的地方。 – Ekin
为$ user,$ pw代码如上这个错误不会让我感到惊讶 – Ekin
@Ekn错误依然存在。我改变了所有的比较。我可以提到我只使用了$ choice =“register”; – BorutMatjasic