У меня есть следующий PHP для доступа к БД для простого форума Я здание:Доступ к данным строки MySQL DB с помощью PHP
$sql = "
SELECT
categories.cat_id,
categories.cat_name,
categories.cat_description
FROM
categories
WHERE
categories.cat_id = '" . mysql_real_escape_string($_GET['id']) ."'
";
$result = mysql_query($sql);
//If data is unable to be served...
if (!$result) {
echo 'Category could not be displayed! Please try again later' . mysql_error();
} else {
if(mysql_num_rows($result) == 0) {
//This is the error code being displayed
echo 'Category does not exist!';
}
}
Вот код для этого раздела БД:
CREATE TABLE categories(
cat_id INT(8) NOT NULL AUTO_INCREMENT,
cat_name VARCHAR(255) NOT NULL,
cat_description VARCHAR(255) NOT NULL,
UNIQUE INDEX
cat_name_unique (cat_name),
PRIMARY KEY(cat_id)
)
TYPE=INNODB;
Проблема: по какой-то причине запрос, похоже, не правильно выводит данные строки из БД, я не понимаю, почему он не работает. Тем не менее, я также новичок в MySQL и SQL в целом. Кто-нибудь есть идеи относительно того, что происходит? Проще говоря, почему запрос MySQL не обращается к данным для кода PHP?
Любая помощь будет очень признательна!
Спасибо!
Update:
После изменения запроса SQL для:
categories.cat_id = " . mysql_real_escape_string($_GET['id']);
Это решило исходную задачу, только чтобы сделать еще одну проблему пробудились.
Я сейчас получаю код ошибки:
echo 'Category could not be displayed! Please try again later' . mysql_error();
С SQL выводя:
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '' at line 8
Я действительно сталкивался с этой проблемой раньше, но в моих попытках исправить это придумал оригинальный код Я отправил. У меня есть аналогичный код на протяжении всего моего PHP-файла, который заставляет меня думать, что это ошибка, которую я сделал в коде DB.
Вы можете echo mysql_error(); после mysql_query() – 2013-03-25 05:17:25
после выполнения этого, что вы получите эхом? –
какая ошибка или выход вы получаете?? – alwaysLearn