Задавайте вопросы, мы ответим
Вы не зашли.
В общем проблема такая, скрипты видят и конектяться к mysql, но работать не могут с базой. Не создают не читают таблицы. Админ требует что бы я дал ему какие нибудь доказательства того что не работает, мол он протестил базу всё нормально. Вот я и хочу узнать есть ли какой то скрипт, который пробует создать таблицы и их прочитать, и после этого выдаёт код ошибки.
Неактивен
Можете соединиться с базой и попробовать создать таблицу вручную:
mysql -u <пользователь> -p<пароль> <имя базы данных> CREATE TABLE test_table (a INT);
Если дело происходит на хостинге, можете воспользоваться phpmyadmin
или написать простенький сценарий на PHP.
Неактивен
в скрипте PHP после запроса добавьте
echo mysql_error();
Неактивен
Хорошо, это я попробую, посколько базу заливал уже с готовыми таблицами. А как проверить читает их или нет? И добавляет ли во внутрь записи?
Неактивен
> В общем проблема такая, скрипты видят и конектяться к mysql, но работать не могут с базой. Не создают не читают таблицы.
поясните, как Вы сделали вывод, что они не читают таблицы. И что это за скрипты?
Неактивен
rgbeast, вообще торренты устанавливаю, при создание нового пользователя он не создаёться, и не читаеться тот который уже есть, мол нет такого, хотя он есть. На локальном всё работает.
Неактивен
а ошибку выдает какую-то?
Неактивен
Попробуйте данный скрипт (замените первые пять строк на Вашу инфу подключения к базе и имя таблицы)
Запустить можно
php -e script.php
<?php
$server = "localhost";
$user = "user";
$password = "pass";
$db = "db_name";
$table = "table_name";
$link = mysql_connect($server, $user, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db($db) or die(mysql_error());
$sql = "SELECT * from $table";
$result = mysql_query($sql) or die(mysql_error());
?>
Неактивен
rgbeast, да выдаёт, с id связаную, но которая точно работает, консультировался на форуме этого трекера, всю пхп излазил и переделал, а оно всё равно ругаеться. Вот и упёрся только в этот вариант, админ не квалифицированный, машину мне отдельную дают, потому что это внутресетевой трекер будет.
А вот как сделать это: php -e script.php я не знаю.
Неактивен
в shell-командной строке. У Вас есть ssh-доступ? Или просто положите этот php в папку, которую видит апач и обратитесь к серверу по HTTP
Неактивен
Благодарю за помощь, если что то не получиться, обращусь ещё
Неактивен
Проверил скриптом который вы посоветовали, результат чистый лист. Это хорошо или плохо?
Я не особо разбираюсь в мускуле, но как я понял это я проверил конектиться или нет к базе. А как проверить то создаются записи или нет в ней, и читаються ли или нет?
Отредактированно Ray (25.10.2007 21:58:08)
Неактивен
Чистый лист - это плохо. Значит, что-то в PHP не отработало.
Попробуйте
<?php phpinfo(); ?>
Что-нибудь выдаст?
Неактивен
Ray написал:
Проверил скриптом который вы посоветовали, результат чистый лист. Это хорошо или плохо?
Странно; вот этот кусок:
$link = mysql_connect($server, $user, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
должен в любом случае что-то выводить. Проверьте, работает ли у Вас php; тщательно ли скопирован скрипт.
Ray написал:
А как проверить то создаются записи или нет в ней, и читаються ли или нет?
Вышеприведенный скрипт проверяет не только соединение, но и возможность чтения:
$result = mysql_query($sql) or die(mysql_error());
Чтобы проверить, пишется ли в базу, запишите в переменную $sql какой-нибудь INSERT
Неактивен
А можите написать какой нибудь insert?
Неактивен
Попробуйте
mysql_query("CREATE TABLE test_table (a INT);") or die(mysql_error());
mysql_query("INSERT INTO test_table VALUES (1)") or die(mysql_error());
Неактивен
Буду благодарен если напишите скрипт который сначало вписывает данные в mysql, потом читает их, и выводит.
Неактивен
Это оффтопик
<?php
$server = "localhost";
$user = "user";
$password = "pass";
$db = "db_name";
$table = "tmp_table";
$link = mysql_connect($server, $user, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db($db) or die(mysql_error());
mysql_query("CREATE TABLE IF NOT EXISTS $table (a INT);") or die(mysql_error());
mysql_query("INSERT INTO $table VALUES (1),(2)") or die(mysql_error());
$sql = "SELECT * from $table";
$result = mysql_query($sql) or die(mysql_error());
while($aRow = mysql_fetch_assoc($result)) {
echo 'row: ' . $aRow['a'] . "<br>\n";
}
?>
Неактивен
Вставил в файл этот скрипт:
<?php
$server = "localhost";
$user = "torrent";
$password = "nv6Minok";
$db = "torrent";
$table = "bans";
$link = mysql_connect($server, $user, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db($db) or die(mysql_error());
mysql_query("CREATE TABLE IF NOT EXISTS $table (a INT);") or die(mysql_error());
mysql_query("INSERT INTO $table VALUES (1),(2)") or die(mysql_error());
$sql = "SELECT * from $table";
$result = mysql_query($sql) or die(mysql_error());
while($aRow = mysql_fetch_assoc($result)) {
echo 'row: ' . $aRow['a'] . "<br>\n";
}
?>
Вроде всё правельно заполнил, выдаёт: Connected successfully Column count doesn't match value count at row 1.
Что это обозначает?
Неактивен
Это означает, что Вы смогли соединиться с сервером, и что у Вас уже есть таблица bans
с количеством столбцов больше 1.
Неактивен