содержимое login.php Код (Text): <?php //login.php $db_hostname = 'localhost'; $db_database = 'publications'; $db_username = 'root'; $db_paasword = 'root'; ?> Код (Text): <html><head><meta charset="utf-8"></head> <?php //Создание таблицы cats в базе publications require_once 'login.php'; $db_server = mysqli_connect($db_hostname, $db_username, $db_paasword); if (!$db_server) die("Невозможно подключиться к MySQL: " . mysql_error()); echo $db_database; mysqli_select_db($db_server, $db_database) or die("Невозможно выбрать базу данных: " . mysql_error()); $query = "CREATE TABLE cats( id SMALLINT NOT NULL AUTO_INCREMENT, family VARCHAR(32) NOT NULL, name VARCHAR(32) NOT NULL, age TINYINT NOT NULL, PRIMARY KEY (id))"; $result = mysqli_query($db_server, $query); if (!$result) die("Сбой при доступе к базе данных: " . mysql_error()); ?> </html> Прошу помощи знатоки. Все эти операции когда делаю через командную строку, работают. Через PHP ничего не выходит. ОС Windows 8 64 Устанавливал MySQL PHP и APACHE сам по книге. Все работает. Но только проблемы с базами данных.
вроде сообщил, в браузер ничего не выводится, все работает по коду правильно, на этом этапе почему то выполнение идет не так как надо((( Код (Text): if (!$result) die("Сбой при доступе к базе данных: " . mysql_error()); ?>
и какой текст ошибки? Добавлено спустя 1 минуту 38 секунд: если нет текста ошибки, то что значит "выполнение идет не так как надо"? Добавлено спустя 11 минут 35 секунд: у тебя используется расширение mysqli, но сообщение об ошибке ты пытаешся прочитать через mysql_error() -- без "i". надо использовать: mysqli_connect_error() и mysqli_error($db_server)
Разобрался, оказалось такая таблица уже есть. Спасибо, я на это обратил внимание. В книжке, по которой я учусь, используется mysql и выскакивали многочисленные ошибки. Потом погуглил, и понял что расширение mysql устарел,(хотя это по ошибка в браузере тоже понятно было) и вместо него использовать надо mysqli, а на Код (Text): mysql_error(). не обратил внимания. Добавлено спустя 4 минуты 42 секунды: Иправил: Сбой при доступе к базе данных: Table 'cats' already exists такая ошибка. Теперь все ясно Благодарю.
кстати тебе в копилку: в MySQL есть такая форма CREATE TABLE IF NOT EXISTS, чтобы не было попытки создать заново. или вначале вызываешь DROP TABLE IF EXISTS, а следующим запросом CREATE TABLE, тогда гарантированно таблица обновится. при этом не возникнет ошибки.