Что это значит (PHP)?

Компьютеры программирование программы php

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\home\diplom\www\Remont_i_texnicheskoe_obslugivanie.php on line 79

Примечание:
NC1, да, проблема с mysql_query(). Не понимаю, почему функции передаётся логическое значение, хотя если запрос - SELECT, то mysql_query() должна вернуть тип resource.

Примечание:
ХХХ

Примечание:
Не могу добавить свой код в примечание. Выдаёт ошибку сервера.

Примечание:
<html>
<head>
<meta charset="UTF8"/>
</head>
<body>
<?
mysql_connect("127.0.0.1", "root");
mysql_select_db("Diplom");
mysql_query("SET NAMES UTF8");


$todo = $_REQUEST["todo"];
$nachalnaya_data_provedenia_remonta = $_REQUEST["nachalnaya_data_provedenia_remonta"];
$konechnaya_data_provedenia_remonta = $_REQUEST["konechnaya_data_provedenia_remonta"];
$kod_tipa_remonta = $_REQUEST["kod_tipa_remonta"];
$otvetstvenniy_ispolnitel = $_REQUEST["otvetstvenniy_ispolnitel"];

if ($todo == "edit"){
$sqltext = "SELECT * FROM Remont_i_texnicheskoe_obslugivanie WHERE kod_tipa_remonta='".$kod_tipa_remonta."'";
$rs = mysql_query($sqltext);
$ar = mysql_fetch_array($rs);
if ($ar["kod_tipa_remonta"]){
?>
<form method="POST" action="/Remont_i_texnicheskoe_obslugivanie.php?todo=change">
Код типа ремонта:<input type="text" name="kod_tipa_remonta" value="<?=$ar["kod_tipa_remonta"]?>"/><br/>
Начальная дата проведения ремонта: <input type="text" name="nachalnaya_data_provedenia_remonta" value="<?=$ar["nachalnaya_data_provedenia_remonta"]?>"/><br/>
Конечная дата проведения ремонта: <input type="text" name="konechnaya_data_provedenia_remonta" value="<?=$ar["konechnaya_data_provedenia_remonta"]?>"/><br/>
Ответственный исполнитель: <input type="text" name="otvetstvenniy_ispolnitel" value="<?=$ar["otvetstvenniy_ispolnitel"]?>"/><br/>
<input type="submit" value="отправить"/>
</form>
<?
}
}

if ($todo == "add"){
?>
<form method="POST" action="/Remont_i_texnicheskoe_obslugivanie.php?todo=paste">
Код типа ремонта:<input type="text" name="kod_tipa_remonta" value="<?=$ar["kod_tipa_remonta"]?>"/><br/>
Начальная дата проведения ремонта: <input type="text" name="nachalnaya_data_provedenia_remonta" value="<?=$ar["nachalnaya_data_provedenia_remonta"]?>"/><br/>
Конечная дата проведения ремонта: <input type="text" name="konechnaya_data_provedenia_remonta" value="<?=$ar["konechnaya_data_provedenia_remonta"]?>"/><br/>
Ответственный исполнитель: <input type="text" name="otvetstvenniy_ispolnitel" value="<?=$ar["otvetstvenniy_ispolnitel"]?>"/><br/>
<input type="submit" value="Добавить"/>
</form>
<?
}

if ($todo == "delete"){
if ($kod_tipa_remonta >= 0 ){
$sqltext = "DELETE FROM Remont_i_texnicheskoe_obslugivanie WHERE kod_tipa_remonta='".$kod_tipa_remonta."'";
mysql_query($sqltext);
}
$todo = "view";

}

if ($todo == "change"){
$sqltext = "UPDATE Remont_i_texnicheskoe_obslugivanie SET kod_tipa_remonta='".$kod_tipa_remonta."', nachalnaya_data_provedenia_remonta='".$nachalnaya_data_provedenia_remonta."', konechnaya_data_provedenia_remonta='".$konechnaya_data_provedenia_remonta."', otvetstvenniy_ispolnitel='".$otvetstvenniy_ispolnitel."' WHERE kod_tipa_remonta='".$kod_tipa_remonta."'";
$rs = mysql_query($sqltext);
echo '\n';
echo $sqltext;
$todo = "view";
}

if ($todo == "paste"){
$sqltext = "INSERT INTO Remont_i_texnicheskoe_obslugivanie SET kod_tipa_remonta='".$kod_tipa_remonta."',nachalnaya_data_provedenia_remonta='".$nachalnaya_data_provedenia_remonta."', konechnaya_data_provedenia_remonta='".$konechnaya_data_provedenia_remonta."', otvetstvenniy_ispolnitel='".$otvetstvenniy_ispolnitel."'";
$rs = mysql_query($sqltext);
echo $sqltext;
$todo = "view";
}

if (!$todo || $todo == "view"){
$rs = mysql_query("SELECT * FROM Remont_i_texnicheskoe_obslugivanie");
while($ar = mysql_fetch_array($rs)){
echo '<a href="/Remont_i_texnicheskoe_obslugivanie.php?todo=edit&kod_tipa_remonta='.$ar["kod_tipa_remonta"].'">'.$ar["kod_tipa_remonta"].'|'.$ar["nachalnaya_data_provedenia_remonta"].'|'.$ar["konechnaya_data_provedenia_remonta"].'|'.$ar["otvetstvenniy_ispolnitel"].'</a>
<a href="/Remont_i_texnicheskoe_obslugivanie.php?todo=delete&kod_tipa_remonta='.$ar["kod_tipa_remonta"].'"> <b>x</b> </a>
<br/>';
}
echo '<br/><br/><a href="/Remont_i_texnicheskoe_obslugivanie.php?todo=add">Добавить</a><br/>';
}

?>
</body>
</html>

Примечание:
Всё, добавил)))
Ответы:
Не умеете читать по-английски -- наймите переводчика... Первый параметр, передаваемый функции mysql_fetch_array(), должен иметь тип "ресурс", а Вы вместо ресурса передали функции логическое значение. Рискну предположить, что ранее Вы сделали кривой запрос к mysql_query() и получили FALSE вместо ссылки на результат...
Значит что-то не то в функцию подставил! -_- Например строку вместо числа или массив вместо строки.
Функция mysql_fetch_array() ожидает на вход нечто иное, чем булево значение, но то, что вы ей дали на вход почему-то имеет тип boolean.
Тут пример, почему это могло произойти:
http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-given-in-select
проверьте правильность подключения к базе данных.
mysql_query() returns a resource on success, or FALSE on error
Возвращает ресурс при успехе или False при неудаче.
Отсюда:
http://ru2.php.net/mysql_query
а показать код подключения к базе и запроса вместе с ошибкой не судьба? или религия не позволяет?
на фиг это огрызок нужен?
что по нему понять-то можно, кроме того, что переданы не те параметры, которые ожидаются?
> mysql_query() должна вернуть тип resource
Только если запрос выполнен и существует результат, ссылку на который можно вернуть в виде значения типа resource.
Если запрос не выполнился, то вернется false. Это нормальное поведение, описанное в документации и вполне логичное (ведь как-то надо вас информировать об ошибке).
И возьмите за правило контролировать выполнение запросов прежде, чем использовать результат их выполнения. Даже если запрос совершенно правильный, вы не можете быть уверены в его выполнении (сервер может быть недоступен, таблицы сломались, etc).


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.