error_reporting(E_ALL);
$act = 1;
if (!($cid = mysql_connect("localhost","root","")))
die("Не удалось открыть соединение с субд");
if (!mysql_select_db("test",$cid))
die("Не удалось выбрать бд для работы: " . mysql_error($cid));
$q = "SELECT * FROM data WHERE id = $act ORDER BY daten DESC";
if (!($r = mysql_query($q,$cid)))
die("Не удалось выполнить запрос: " . mysql_error());
if ($row = mysql_fetch_row($r))
{
echo <<<EOF
<TR><TD> {$row[0]} </TD></TR>
<TR><TD> {$row[1]} </TD></TR>
<TR><TD> {$row[2]} </TD></TR>
EOF;
}
mysql_free_result($r);
mySQL problem
В пхпМайАдмине следующий запрос проходит чудесно, а вот пхп ругается и не хочет выполнять код.
mysql_connect("localhost","root") or die("Невозможно соединение с базой. Проверьте правильность логина и пароля!");
$q="SELECT * FROM data WHERE id=$act ORDER BY daten DESC";
$res=mysql_query($q);
$mass=mysql_fetch_row($res);
echo "<TR><TD>".$mass['name']."</TD></TR><TR><TD>".$mass['daten']."
</TD></TR><TR><TD>".$mass['src']."</TD></TR>";
mysql_free_result ($res);
пишет, что переменная $res не является результатом запроса. ЧТО ДЕЛАТЬ?
Код:
$res=mysql_query($q) or die(mysql_error());
и посмотреть ошибку, которую выдает MySql
Скорее всего проблема с кавычками
Цитата:
Originally posted by mike
Написать так
и посмотреть ошибку, которую выдает MySql
Скорее всего проблема с кавычками
Написать так
Код:
$res=mysql_query($q) or die(mysql_error());
и посмотреть ошибку, которую выдает MySql
Скорее всего проблема с кавычками
С этими кавычками просто беда.
Напишите, пожалуйста пример правильных расставлений кавычек!
Спасбо!
Цитата:
Originally posted by mike
Написать так
и посмотреть ошибку, которую выдает MySql
Скорее всего проблема с кавычками
Написать так
Код:
$res=mysql_query($q) or die(mysql_error());
и посмотреть ошибку, которую выдает MySql
Скорее всего проблема с кавычками
А вообще ошибка такая:
Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource in z:\home\localhost\www\view.php on line...
--------------------------
mysql_connect("localhost","root") or die("Невозможно соединение с базой. Проверьте правильность логина и пароля!");
$q="SELECT * FROM data WHERE id=$act ORDER BY daten DESC";
$res=mysql_query($q) or die(mysql_error()."
Запрос: ".$q."
");
if (mysql_num_rows($res)==0) print "Ничего не выбрано";
$mass=mysql_fetch_row($res);
echo "<TR><TD>".$mass['name']."</TD></TR><TR><TD>".$mass['daten']."
</TD></TR><TR><TD>".$mass['src']."</TD></TR>";
mysql_free_result ($res);
--------------------------
Код:
fetch_row возвращает пронумерованный массив, а не хэш. следовательно если юзаешь fetch_row то и поля выбирай по индексам.
если бы проверял возвр. значения там, где это следует делать, то и вопросов бы лишних не возникало :D
Спасибо ВСЕМ. Проблема уже решена!