2015-05-31 4 views
1

Ошибка моего mySQLi, но ошибка пуста. Может ли кто-нибудь сказать мне, в чем проблема, или как я могу выводить информацию об ошибке?Ошибка PHP/MYSQL, но ошибка

Heres мой 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 
+0

написать '$ result = $ conn-> query ($ sql) или die ($ conn-> error)'. для проверки ошибки. Пожалуйста, попробуйте это. –

+0

mytable <> рецепты. Возможно, вы что-то не говорите нам. – Strawberry

+0

О да, я изменил имена и т. Д., Чтобы сделать его более читаемым, пропущенным, отредактированным/ – Lukesmith

ответ

3

К сожалению, я не настолько опытен с PHP в одиночку, но вы уверены, что это возвращает Boolean?

$result = $conn->query($sql); 

Если нет, вы можете удалить это заявление if?

Я написал это как ответ, потому что, к сожалению, я не могу комментировать.

+0

Да, это действительно было причиной. Раньше я мог использовать его как логическое, но с этим запросом я не был. – Lukesmith