当仅需要单个结果时,则不应使用循环。只需立即获取该行。
如果您需要将整个行提取到关联数组中:
$row = $result->fetch_assoc();
万一你只需要一个值
$row = $result->fetch_row();
$value = $row[0];
以下是针对不同用例的完整示例
查询中使用的变量
当在查询中使用变量时,则必须使用 准备好的语句 。例如,假设我们有一个变量
$id:
$query = "SELECt ssfullname, ssemail FROM userss WHERe ud=?";$stmt = $conn->prepare($query);$stmt->bind_param("s", $id);$stmt->execute()$result = $stmt->get_result();// in case you need an array$row = $result->fetch_assoc();// OR in case you need just a single value$row = $result->fetch_row();$value = $row[0];在我的文章中可以找到有关上述过程的详细说明。至于为什么必须遵循它,在这个著名的问题中得到了解释
查询中没有变量
在您的情况下,如果查询中不使用任何变量,则可以使用以下
query()方法:
$query = "SELECt ssfullname, ssemail FROM userss ORDER BY ssid";$result = $conn->($query);// in case you need an array$row = $result->fetch_assoc();// OR in case you need just a single value$row = $result->fetch_row();$value = $row[0];
顺便说一下,尽管可以在学习的同时使用原始API,但是将来可以考虑使用一些数据库抽象库。
它将 所有 数据库代码转换为3行:
include 'database.class.php';$db = new DB();$row = $db->getRow("SELECt ssfullname, ssemail FROM userss ORDER BY ssid LIMIT 1");


