php原生查询返回个true怎么返回数据

fiy 其他 78

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    当php原生查询返回true时,意味着查询执行成功,但是没有返回具体的查询结果。如果你想获取查询结果数据,可以通过以下方法:

    1. 使用fetch()方法获取单行数据:可以通过fetch()方法从查询结果集中获取一行数据。示例代码如下:

    “`php
    $result = $pdo->query(“SELECT * FROM your_table”);
    $row = $result->fetch(PDO::FETCH_ASSOC);
    “`

    2. 使用fetchAll()方法获取多行数据:可以通过fetchAll()方法从查询结果集中获取所有匹配的行数据。示例代码如下:

    “`php
    $result = $pdo->query(“SELECT * FROM your_table”);
    $rows = $result->fetchAll(PDO::FETCH_ASSOC);
    “`

    3. 遍历结果集:可以使用foreach循环来遍历查询结果集中的每一行数据。示例代码如下:

    “`php
    $result = $pdo->query(“SELECT * FROM your_table”);
    foreach($result as $row) {
    // 处理每一行数据
    }
    “`

    4. 使用rowCount()方法获取受影响的行数:如果你执行的是更新或删除操作,可以使用rowCount()方法获取受影响的行数。示例代码如下:

    “`php
    $result = $pdo->exec(“DELETE FROM your_table WHERE id = 1”);
    $affectedRows = $result->rowCount();
    “`

    通过以上方法,你可以根据需要获取查询结果的数据,实现更加灵活的数据处理和展示。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    当PHP原生查询返回true时,表示查询成功,但并未返回任何数据。要返回数据,你需要使用查询结果的相关函数或方法来获取结果。下面是一些常见的方法:

    1. 使用mysqli_fetch_array()函数:
    mysqli_fetch_array()函数可以从结果集中提取一行数据,并将其以数组形式返回。你可以使用循环来依次获取每一行的数据。

    “`php
    $result = mysqli_query($conn, $sql);

    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_array($result)){
    // 获取$row中的数据
    }
    } else {
    echo “没有查询到结果”;
    }
    “`

    2. 使用mysqli_fetch_assoc()函数:
    mysqli_fetch_assoc()函数类似于mysqli_fetch_array()函数,但它只返回关联数组。可以通过字段名来获取对应的值。

    “`php
    $result = mysqli_query($conn, $sql);

    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)){
    // 获取$row中的数据
    }
    } else {
    echo “没有查询到结果”;
    }
    “`

    3. 使用mysqli_fetch_object()函数:
    mysqli_fetch_object()函数从结果集中获取一行数据,并将其作为对象返回。你可以通过对象的属性名来获取对应的值。

    “`php
    $result = mysqli_query($conn, $sql);

    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_object($result)){
    // 获取$row中的数据
    }
    } else {
    echo “没有查询到结果”;
    }
    “`

    4. 使用mysqli_fetch_row()函数:
    mysqli_fetch_row()函数从结果集中获取一行数据,并将其作为枚举数组返回。你可以通过下标来获取对应的值。

    “`php
    $result = mysqli_query($conn, $sql);

    if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_row($result)){
    // 获取$row中的数据
    }
    } else {
    echo “没有查询到结果”;
    }
    “`

    5. 使用PDO的fetch()方法:
    如果你使用PDO来进行数据库操作,可以使用fetch()方法来获取查询结果。fetch()方法有多种用法,比如fetch(PDO::FETCH_ASSOC)返回关联数组,fetch(PDO::FETCH_OBJ)返回对象等。

    “`php
    $query = $pdo->query($sql);

    if($query->rowCount() > 0){
    while($row = $query->fetch(PDO::FETCH_ASSOC)){
    // 获取$row中的数据
    }
    } else {
    echo “没有查询到结果”;
    }
    “`

    以上是常见的获取查询结果的方法,你可以根据你的需求选择适合的方法来获取数据。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    当PHP原生查询返回`true`时,表示查询成功,但是并没有返回具体的数据。为了返回数据,我们需要使用 PHP 中的一些方法和操作流程。

    下面是一种常见的操作流程,用于执行查询并返回数据:

    1. 建立数据库连接:使用`mysqli_connect()`或者`PDO`等方法来建立与数据库的连接。示例代码如下:
    “`php
    $servername = “localhost”;
    $username = “username”;
    $password = “password”;
    $dbname = “dbname”;

    // 使用mysqli连接数据库
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
    die(“数据库连接失败:” . mysqli_connect_error());
    }

    // 使用PDO连接数据库
    try {
    $conn = new PDO(“mysql:host=$servername;dbname=$dbname”, $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
    die(“数据库连接失败:” . $e->getMessage());
    }
    “`

    2. 执行查询语句:使用`mysqli_query()`或者`PDO`的`query()`方法执行查询语句,并将结果保存在一个变量中。示例代码如下:
    “`php
    // 使用mysqli执行查询
    $sql = “SELECT * FROM table_name”;
    $result = mysqli_query($conn, $sql);

    // 使用PDO执行查询
    $sql = “SELECT * FROM table_name”;
    $result = $conn->query($sql);
    “`

    3. 处理查询结果:根据查询结果的类型,选择不同的方法进行处理。

    a. 如果需要获得返回的所有数据,可以使用`mysqli_fetch_all()`方法或者`PDO`的`fetchAll()`方法将结果转化为关联数组或者索引数组。
    示例代码如下:
    “`php
    // 使用mysqli获取关联数组
    $data = mysqli_fetch_all($result, MYSQLI_ASSOC);

    // 使用PDO获取关联数组
    $data = $result->fetchAll(PDO::FETCH_ASSOC);
    “`

    b. 如果只需要获取一条记录,可以使用`mysqli_fetch_assoc()`或者`PDO`的`fetch()`方法获取关联数组。
    示例代码如下:
    “`php
    // 使用mysqli获取关联数组
    $data = mysqli_fetch_assoc($result);

    // 使用PDO获取关联数组
    $data = $result->fetch(PDO::FETCH_ASSOC);
    “`

    4. 关闭数据库连接:使用`mysqli_close()`或者`unset()`关闭数据库连接,释放资源。
    示例代码如下:
    “`php
    // 使用mysqli关闭连接
    mysqli_close($conn);

    // 使用PDO关闭连接
    unset($conn);
    “`

    这样就完成了根据查询结果返回数据的操作。请注意,在执行查询语句时,应该先进行参数绑定,以避免SQL注入攻击。另外,还应该进行错误处理,以捕获任何可能的错误并进行相应的处理。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部