我已经创建了一个注册表单,现在使用以下代码来显示表单完成时创建的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()关于这两条新线。我不确定我在哪里出错,我试图接收的数据是一个自动增量主键,如果它有任何影响。我并不担心这种情况的安全性,因为它不需要安全,只需要工作。
由于
答案 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'];