Я читал о том, что другие сделали с этой ошибкой, и внесли изменения в мой файл 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>
Любая идея, почему я получаю эту ошибку?
Редактор добавил пробелы, которые не были удалены. Мне пришлось удалить несколько строк и переписать их. Итак, эта проблема была не совсем с кодом … просто проблема программного обеспечения текстового редактора.
Другая ошибка, с которой я столкнулся, – это логическая ошибка с моим запросом. Оказывается, я пытался запросить базу данных вместо таблицы.
Спасибо за помощь!
Удалите одинарные кавычки из имен столбцов в запросе. Это может быть не единственная ошибка, если интерпретатор 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%' )";