php mysqli SELECT 不返回行


php mysqli SELECT doesnt return row

我有这个代码:

$check_user = "SELECT * FROM privateChats WHERE name = '$category'";
$result = mysqli_query($conn,$check_user);
$row = mysqli_fetch_assoc($result);
if($row["user1"] == $login_session or $row["user2"] == $login_session){
    $sql = "SELECT * FROM privateChat WHERE name = '$category' ORDER BY position DESC";
}
// it goes on

它卡在$result = mysqli_query($conn,$check_user);也不会给出错误。有一个名为 privateChats 的表,其中有一条记录。

我的连接代码:

$servername = "localhost";
$username = "thewhateverclub";
$password = "password";
$dbname = "my_thewhateverclub";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (mysqli_connect_error($conn)) {
    die("Connection failed: " . mysqli_connect_error($conn));
}

试试这个 -

$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM privateChats WHERE name = '$category'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "Data1 " . $row["column1"]. " - Data2: " . $row["column2"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();

还要在 php 脚本的开头添加此行。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

但是,这不会使 PHP 显示解析错误 - 显示这些错误的唯一方法是修改您的 php.ini使用以下行:

display_errors = on
您需要

通过以下方式检查mysqli错误:-

$conn = mysqli_connect("localhost", "my_user", "my_password", "my_db");
//check connection error 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s'n", mysqli_connect_error());
    exit();
}
// check variable is set or not
$category = isset($category) ? $category : 'notSet';
$check_user = "SELECT * FROM privateChats WHERE name = '$category'";
$result = mysqli_query($conn,$check_user);
// Check for query errors
if(!$result){
   printf("Error: %s'n", mysqli_error($conn));
}
$row = mysqli_fetch_assoc($result);

希望它能帮助你:)