无法从mysql中检索数据并显示

时间:2016-03-10 09:17:59

标签: php mysql foreach

现在我在PHP中有一个函数来从我的数据库中检索数据

function get_category_posts($cat_name) {
    global $conn;
    $sql = "SELECT * from posts where cat_name = '".$cat_name."' order by date desc";
    $result = mysqli_query($conn, $sql);
    $row = array();
    for($i = 0; $i < mysqli_num_rows($result); $i++) {
        $row[] = mysqli_fetch_array($result,MYSQL_ASSOC);
    }
    return $row;
 }

我有一个.php文件,我正在调用这个函数

$result = get_category_posts("Актуальные новости");
foreach ($result as $row) {
    // do something
}

我的数据库连接

$conn=new mysqli("localhost", "ss", "ss", "s");
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}   

db include

include_once("functions.php");  

但问题是,我的文件上没有显示任何内容。抱歉我的英文不好^ _ ^

1 个答案:

答案 0 :(得分:1)

在查询之前添加此内容

mysqli_query($conn, 'SET NAMES utf8');

您作为条件传递的文本不是英文,应该被视为特殊文本,因此您的数据库编码应为utf8,并在运行查询之前在主文件中添加此行以进行调用:

mysqli_query($conn, 'SET NAMES utf8');
$result = mysqli_query($conn, $sql);