Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MYSQL查询失败但无错误_Php_Mysql_Sql_Mysqli - Fatal编程技术网

PHP/MYSQL查询失败但无错误

PHP/MYSQL查询失败但无错误,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我的mySQLi查询失败,但错误为空。谁能告诉我问题是什么,或者我如何输出错误信息 以下是我的PHP代码: // Create connection $conn = new mysqli($hostname, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }

我的mySQLi查询失败,但错误为空。谁能告诉我问题是什么,或者我如何输出错误信息

以下是我的PHP代码:

// Create connection
$conn = new mysqli($hostname, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if(isset($_POST['in_wordarray']))       
{       
    $words = $_POST['in_wordarray'];

    $sql = "SELECT *, (";

    $i = 0;
    foreach ($words as $value) {

        if($i == 0) {
            $sql .= "(`words` LIKE '%$value%')";
        } else {
            $sql .= " + (`words` LIKE '%$value%')";
        }

        $i++;
    }

    $sql .= ") AS `numMatches` FROM `mytable` HAVING `numMatches` >= 3 ORDER BY `numMatches` DESC";
    //echo $sql;
    $result = $conn->query($sql);

    if ($result === TRUE) {
        $text_result_array = array();
        if ($result->num_rows > 0) {
          while ($row = $result->fetch_assoc()) {
              $text_result_array[] = $row;
          }
        // Encode the response
        echo json_encode($text_result_array);
        }
    } else {
        echo $conn->error;
    }
} else {
    echo "Bad Input";

}
生成的SQL查询如下所示:

SELECT *, ((`words` LIKE '%word1%') + (`words` LIKE '%word2%') + (`words` LIKE '%word3%')) AS `numMatches` FROM `words`HAVING `numMatches` >= 3 ORDER BY `numMatches` DESC

抱歉,我不太熟悉php,但您确定这会返回布尔值吗

$result = $conn->query($sql);
如果不是,您能否删除该If语句


我写它作为一个答案,因为遗憾的是我还不能评论。

很抱歉,我不太熟悉php,但你确定这会返回布尔值吗

$result = $conn->query($sql);
如果不是,您能否删除该If语句


我把它作为一个答案写了下来,因为遗憾的是我还不能评论。

write$result=$conn->query$sql或die$conn->error。检查错误。请试试这个.mytable食谱。也许有些事情你没有告诉我们。哦,是的,我更改了名称等,以使其更可读,错过了一个,编辑/写入$result=$conn->query$sql或die$conn->error。检查错误。请试试这个.mytable食谱。也许有些事情你没有告诉我们。哦,是的,我改变了名字等,使它更可读,错过了一个,编辑/是的,它似乎是原因。以前我可以将它用作布尔值,但在这个查询中我没有。是的,这似乎是原因。以前我可以将它用作布尔值,但在这个查询中我没有。