【问题标题】:Display one result(cell) from mysqli query显示来自 mysqli 查询的一个结果(单元格)
【发布时间】:2012-08-15 15:27:33
【问题描述】:

一段时间以来,我一直在努力研究这个问题,而关于 MySQL 和 MySQLi 的文档让我感到困惑。是否有可能得到任何帮助?

我有一个名为 track_table 的表,它包含两行 hash 和 track

    hash              |  track
    sdfsdfsdfsdfsdfsd |  Azelia Banks - 1991

我想显示曲目名称,但不知道如何显示。我试过'mysqli_fetch_assoc'和其他各种功能,但没有。这是我目前的查询。

    $hash = $_GET['sub'];

    $check_track = "SELECT track FROM track_table WHERE hash = '.$hash.' ";
    $track_res = mysqli_query($mysqli, $check_track) or die (mysqli_error($mysqli));

    $result = mysqli_fetch_assoc($track_res);
    echo $result['track'];

我只是希望能够在网页上显示曲目名称。

我知道我没有实现任何安全功能,并且我直接从用户那里获取数据,等我解决了这个问题后,我会这样做。

【问题讨论】:

    标签: php mysqli


    【解决方案1】:

    试试这个

    $hash = mysql_real_escape_string($_GET['sub']);
    
    $check_track = "SELECT track FROM track_table WHERE hash = '.$hash.' ";
    $track_res = mysql_query($check_track) or die (mysql_error());
    
    $result = mysql_fetch_assoc($track_res);
    print_r($result);
    

    确定表、列或输入类型的名称。 希望对你有帮助。

    【讨论】:

    • OP 要求mysqli
    【解决方案2】:

    脚本的string-literal . variable . string-literal 部分有问题。

    if ( !isset($_GET['sub']) ) {
        die('missing paraemter sub');
    }
    
    $check_track = "
        SELECT
            track
        FROM
            track_table
        WHERE
            hash = '".mysqli_real_escape_string($mysqli, $_GET['sub'])."'
    ";
    $track_res = mysqli_query($mysqli, $check_track) or die (mysqli_error($mysqli));
    
    $result = mysqli_fetch_assoc($track_res);
    if ( !$result ) {
        echo 'no such record';
    }
    else {
        echo $result['track'];
    }
    

    【讨论】:

    • 我刚刚尝试过您的解决方案,但仍然无法显示曲目名称:(
    • Appologies,只需检查我的 Apache 日志,连接到数据库时出现问题。您的解决方案现在完美运行。非常感谢:)
    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多