可捕获的致命错误:类mysqli_result的对象无法在注册时转换为字符串

时间:2014-06-03 11:36:17

标签: php mysqli

我已经创建了一个注册表单,现在使用以下代码来显示表单完成时创建的LoginID。以下代码导致" Catchable致命错误:类mysqli_result的对象无法在"中转换为字符串。我不确定为什么会这样做。

$result = mysqli_query($con, "SELECT LoginID FROM User WHERE name='$nameFromForm' AND password='$pwd'"); 
echo $result;

我也尝试过使用

$sql = mysqli_query($con, "SELECT LoginID FROM User WHERE name='$nameFromForm' AND password='$pwd' AS '$login'");
$result = mysqli_query($con, $sql);
echo $result->fetch_object()->$login;

修复此问题,就像上面的错误所建议的那样,尽管它会导致错误 "警告:mysqli_query()[function.mysqli-query]:"

中的空查询

"致命错误:在"

中的非对象上调用成员函数fetch_object()

关于这两条新线。我不确定我在哪里出错,我试图接收的数据是一个自动增量主键,如果它有任何影响。我并不担心这种情况的安全性,因为它不需要安全,只需要工作。

由于

2 个答案:

答案 0 :(得分:2)

mysqli_query函数返回 mysqli_result 对象,您应在其上执行,例如,mysqli_fetch_row函数以获取查询结果。

$result = mysqli_query($con, "SELECT LoginID FROM User WHERE name='$nameFromForm' AND password='$pwd'"); 
$row = mysqli_fetch_row($result);
var_dump($row);

答案 1 :(得分:2)

试试这个,

 $result = mysqli_query($con, "SELECT LoginID as login FROM User WHERE name='$nameFromForm' AND password='$pwd'"); 
    $row = mysqli_fetch_array($result);
    echo $row['login'];