Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Mysql Help!

5.2K
03 мая 2004 года
sura
8 / / 04.01.2004
Помогите разобраться.
У меня установлен apache 1.3, Php 4 и Mysql 4.11.alfa
Когда тестирую базу данных( пишу следующий запрос
<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{ echo "Ne mogu soedenitsa s bazoy ".DBName."!
";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
mysql_query("create table t(id int, a text)");
for($i=0; $i<10; $i++)
{$id=time();
mysql_query("insert into t(id, a) values($id, 'Стр$i!')");
}

$r=mysql_query("select * form t");
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "$f[id] -> $f[a]
\n";
}
?>

то получаю ответ:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in e:\home\localhost\www\mysql.php on line 19

В чем дело?!

Объясните пожалуйста.
1.9K
03 мая 2004 года
Andius
61 / / 04.01.2004
по-моему, в функции mysql_query надо еще указывать соединение, т.е.
$con = mysql_connect('host','root','pass');
$db = mysql_select_db($dbname, $con);
$sql = "select...";
$res = mysql_query($sql, $con);

должно работать!
4
04 мая 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Andius
по-моему, в функции mysql_query надо еще указывать соединение, т.е.



Да нет, не обязательно.

Ты решишь проблему заменив:

 
Код:
$r=mysql_query("select * form t");


на

 
Код:
$r=mysql_query("select * form t") or die(mysql_error());


да и вообще, ошибки полезно обрабатывать.

Кроме того, я бы рекомендовал бы вообще изменить последний цикл:

$r=mysql_query("select * form t");
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "$f[id] -> $f[a]
\n";
}

на

 
Код:
$r=mysql_query("select * form t") or die(mysql_error());

while ($f=mysql_fetch_array($r)) {
    echo $f[id]." -> ".$f[a]."
\n"
;
    }


оффтоп. старайся в строках выносить переменные. Это увеличивает скорость работы скрипта, да и путаться потом не будешь. (см. http://codenet.ru/webmast/php/speed/#1)
5.2K
04 мая 2004 года
sura
8 / / 04.01.2004
Цитата:
Originally posted by sura



Спасибо большое всем!


or die(mysql_error());
дало результат:
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 'form t' at line 1

т.е у меня было (select FORM) вместо FROM.

сейчас все работает

еще раз большое спасибо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог