php mysqli SELECT不返回行

时间:2016-02-22 12:19:24

标签: php mysql mysqli

我有这段代码:

$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));
}

2 个答案:

答案 0 :(得分:2)

您需要通过以下方式检查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);

希望它会对你有所帮助:)。

答案 1 :(得分:2)

试试这个 -

$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