#php #mysql #warnings
#php #mysql #предупреждения
Вопрос:
Я читал о том, что другие сделали с этой ошибкой, и внес изменения в мой файл php.ini, добавил код для переопределения другой настройки php, и все равно получаю ту же ошибку. Вот мой код:
<html>
<body>
<table>
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php
function getRecords($query) {
$con = mysql_connect("localhost", "movie", "moviepw");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("movies", $con);
$result = mysql_query($query);
// THE ERROR IS REPORTED ON THIS LINE
return $result;
}
function buildQuery() {
$keyword = $_GET['keyword'];
$sql = "SELECT * from movies WHERE
(
'movie_title' LIKE '%keyword%'
OR
'movie_description' LIKE '%keyword%'
)";
return $sql;
}
$query = buildQuery();
$records = getRecords($query);
while($row = mysql_fetch_array($records)){ ?>
<tbody>
<table border='1'>
<tr>
<td><?= $row['movie_title']; ?></td>
<td><?= $row['movie_rating']; ?></td>
<td> <img src="<?= $row['movie_image'];?>"> </td>
<td><?= $row['movie_description']; ?></td>
<td><a href="movie_index.php">Return to Search</a></td>
</tr>
<? } ?>
</tbody>
</table>
</body>
</html>
Есть идеи, почему я получаю эту ошибку?
Комментарии:
1. Пожалуйста, опубликуйте остальную часть сообщения об ошибке. Он отключен в заголовке вопроса. В частности, в какой строке это происходит.
2. Подводя итог: нераскрытый интерпретатор (PHP или SQL) выдает предупреждение в нераскрытой строке, поэтому вы внесли некоторые нераскрытые изменения в настройки PHP безрезультатно. Правильно? ;-P
3. Остальная часть ошибки: C:xampphtdocsmovie_display.php в строке 34
4. Да, я внес изменения безрезультатно. 🙂 Строка 34: return $resu<
5. @CherylAnnCE: сделайте так, чтобы ваш редактор визуально показывал вам символы, такие как пробелы и табуляции. 29 выглядит как пробел, но таковым не является.
Ответ №1:
Редактор добавил пробелы, которые нельзя было удалить. Мне пришлось удалить несколько строк и переписать их. Итак, эта проблема была не совсем с кодом…просто проблема с программным обеспечением текстового редактора.
Другая ошибка, с которой я столкнулся, была логической ошибкой с моим запросом. Оказывается, я пытался запросить базу данных вместо таблицы.
Спасибо за всю помощь в этом!
Ответ №2:
Удалите одинарные кавычки из имен столбцов в вашем запросе. Возможно, это не единственная ошибка, если интерпретатор PHP все еще жалуется на ASCII 29.
$sql = "SELECT * from movies WHERE
(
'movie_title' LIKE '%keyword%'
OR
'movie_description' LIKE '%keyword%'
)";
// Should be
$sql = "SELECT * from movies WHERE
(
movie_title LIKE '%keyword%'
OR
movie_description LIKE '%keyword%'
)";
Комментарии:
1. Большое вам спасибо за идею. Я тоже попробовал, но проблема была на самом деле с некоторыми пробелами, которые были странно размещены моим редактором и не удалялись. Свободное программное обеспечение. ;-P
2. На самом деле, я должен был сказать, что я это исправил. Спасибо, что также указали на эту ошибку.