Какая ошибка происходит? С отладкой знакомы? Вот для начала два метода: http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html Будут вопросы, задавай.
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in V:\home\localhost\www\redklienti.php . Вот ошибка, которую выдает.
Как минимум это не весь текст ошибки, хотя вызов mysql_fetch_array() только один в коде из предыдущего сообщения. Как это перевести? Первый аргумент ожидался типа resource, но был получен boolean. mysql_query($query) мог вернуть false если в запросе $query была ошибка, то есть нет проверки на ошибки. По какой книге учишь PHP и MySQL?
Найди в мануале функцию, которая дает сообщение об ошибке при последнем запросе. Сделай запрос (тот который неправильный), выполни эту функцию и прочитай текст ошибки. Далее по обстоятельствам голову включай, гугли, вопросы задавай.
спасибо)все заработало1спасибо --- Добавлено --- Опять потревожу всех. Тут не понимаю даже в чем дело. Задача на обновление и изменение данных. Когда я в поисковике ввожу №=1 (к примеру) , то в форме выводятся данные этого номера. В форме эти данные могу изменить и при нажатии кнопки , они сохраняются и обновляются. ПОмогите пожалуйста!Срочно! Завтра сдать уже нужно! PHP: <? $log = $_POST["log"]; $ps = $_POST["ps"]; ?> <form action = "" method="post"> </form> </style> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <div id="container" style="height:100%;"> <div id="header">Интернет магазин</div> <div id="menu"> <ul class="hr"> <li> <a href="polzovateli.php">Пользователи</a></li> <li>Клиенты</li> <li><a href="tovari.php">Товары</a></li> <li><a href="zacazi.php">Заказы</a></li> <li><a href="index.php?a=1">Выход</li></a> <? if (isset($_GET["a"])){ unset($_session['uid']); } ?> </ul> </div> <h2 class="h2" align="center" >Редактирование клиента</h2> <div id="table" style="height:450px"> <div id="sort" style="height:250px"> <form action = "" method="post"> <? mysql_connect("localhost","root",""); mysql_select_db("подаривидео.рф"); $№=$_GET['№']; if (isset($_POST['№'])){ $№=$_POST['№']; $FIO=$_POST['FIO']; $City=$_POST['City']; $Telephone=$_POST['Telephone']; $Adres=$_POST['Adres']; $mail=$_POST['mail']; $query="UPDATE `klient` SET `FIO`='$FIO',`City`='$City',`Telephone`='$Telephone',`Adres`='$Adres',`mail`='$mail' WHERE `№`=`$№`"; mysql_query($query); echo'<script language="JavaScript"> window.location.href = "k.php" </script>'; } //формируем запрос к таблице с заказами $query="SELECT `klient`.* FROM `klient` WHERE `№`='$№' "; mysql_query($query); $result=mysql_query($query); $row=mysql_fetch_array($result); ?>
@Natali94 я ничего не понял, в чём там проблема так это лучше в раздел free-lance за деньги, раз срочно
Подскажите что в коде не хватает Жалуеться на mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\test\index1.php on line 29 Код (Text): <?php $db=mysql_connect("localhost", "tutorial","123"); mysql_select_db("tutorial",$db); if(isset($_POST['button'])){ $login=$_POST['login']; $password=$_POST['password']; } $query=mysql_query("SELECT*form users WHERE login='$login' "); $myrow=mysql_fetch_array($query)or die(mysql_error()); if($login==$myrow['login']){ if($password==$myrow['password']){ echo"vi zashli v sistemy,".$login; } else{ echo "paroli ne sovpadaut"; } } ?> [/INDENT][/INDENT]
@musk melov проверки на ошибки перед тем как в mysql_fetch_array передавать результат выполнения mysql_query. Смотри первый пример https://secure.php.net/manual/ru/function.mysql-query.php Но практика с die не очень хорошая.
Друзья HELP!! Возникла ошибка в админке, на сайте всё отображается корректно,но в админке возникает ошибка. хотя функция Select data используется как для сайта, так и для админки, помогите пожалуйста устранить! Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\OpenServer\domains\emerald-space\db_fns.php on line 29
спасибо большое за ответ! в бд поля существуют,написаны правильно.. с чем еще это может быть связано? мучаюсь уже который день(
Это может быть код, но не тот, который лезет в бд, а тот, который передаёт в запрос неправильные параметры. Например вместо номера статьи передаётся ничего. =) Тогда конечно запрос не сработает. Может в бд есть номер, ссылающийся на статью, которой нет, и при попытке её получить запрос может обломиться. Хз.
@denger86.dt ошибка гласит, что mysql_fetch_array() первым аргументом получила тип переменной boolean, с большой вероятностью, ты передаёшь в mysql_fetch_array() результат выполнения mysql_query() и по документации mysql_query() может в случаи ошибки вернуть FALSE вместо результата, по этому перед вызовом mysql_fetch_array() надо проверить результата mysql_query(), можно просто if(), потом ещё узнать был ли результат не нулевой, только после этого вызывать mysql_fetch_array(), вот так по хорошему две проверки перед вызовом mysql_fetch_array(), одна через if() вторая mysql_num_rows() на больше нуля.
Доброго времени суток всем! у меня возникла следующая проблема что только не пытался когда прочитал на форуме все попытки исправить ошибки, особо ничего не получилось, может у меня что то не так с целым кодом? ошибка на странице выходит следующая: Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\Apache24\htdocs\ej\www\db\mysql.php on line 21 Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\Apache24\htdocs\ej\www\db\mysql.php on line 21 Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\Apache24\htdocs\ej\www\db\mysql.php on line 21 38 / 432 / PHP: <?php function db_connect($hostname,$username,$password,$dbname){ $con = mysql_connect($hostname,$username,$password); mysql_select_db($dbname,$con); mysql_query('SET NAMES cp1251', $con); return $con; } function db_close(){ mysql_close(); } function db_query($sql,$con) { $res=mysql_query($sql,$con); return $res; } function db_result($res,$row,$field) { $mix = mysql_result($res,$row,$field); return $mix; } function db_fetch_array($res) { $myarray = array(); $myarray = mysql_fetch_array($res); return $myarray; } function db_num_rows($res) { $rows=mysql_num_rows($res); return $rows; } function db_fetch_row($res) { $myarray=mysql_fetch_row($res); return $myarray; } function db_fetch_object($res) { $obj = mysql_fetch_object($res); if($obj) return $obj; else return false; } function db_data_seek($res) { if (mysql_num_rows($res)>0) mysql_data_seek($res, 0); } ?>
@Kelebra ты можешь посчитать тангенс угла от слова "счастье"? Нет, потому что нужны цифры, только их принимает формула. У тебя с PHP та же ситуация, ты что-то не то передал в функцию mysql_result(), и тебе даже указывают что именно! Вот это сервис, как в лучших ресторанах. Начнём с документации, этой функции https://secure.php.net/manual/ru/function.mysql-result.php Первое что мы видим это огромное красное предупреждение! Что надо прекратить использовать mysql_result и перейти на mysqli_result или PDO. Но будем работать с чем, что есть, а то ещё обвинят, что ничего не умею, как обычно делают. Вернёмся к ошибке, телепаты в отпуске, по этому я не знаю если ты знаешь английский и просто переведём ошибку через google translate google translate почти справился, что обычно происходит не всегда. mysql_result первым параметром ожидает ресурс, идём в документацию и по mysql_result и смотрим раздел "Список параметров", там первым параметром вот нам, подсказывают, что мы должны первым параметром результат выполнения mysql_query предать в mysql_result во как оно. Смотрим уже документацию по mysql_result https://secure.php.net/manual/ru/function.mysql-query.php, но уже раздел "Возвращаемые значения" так как мы работаем с значениями которые она возвращает, чтобы использовать в mysql_result. И что мы видим? и Вот подстава, заметил, что mysql_result принимает только тип переменной resource, а mysql_query может вернуть resource, и boolean (TRUE, FALSE). Значит в 21 строке кода, где произошла ошибка, вернулся FALSE или TRUE и его не надо бездумно подставлять первым параметром к mysql_result. Если у тебя в SQL запросе SELECT, выборка данных, то проверяй если mysql_query вернула resource, если ты точно знаешь что там у тебя SELECT то можно просто на true проверить что mysql_query вернула его https://secure.php.net/manual/ru/function.mysql-query.php#refsect1-function.mysql-query-examples PHP: $result = mysql_query('SELECT * WHERE 1 = 1'); if (!$result) { die('Неверный запрос: ' . mysql_error()); } Вывод, перед тем как идти дальше после mysql_query проверь если она вернула TRUE/RESOURCE и после этого ещё проверь если в результате есть результаты (больше нуля) https://secure.php.net/manual/ru/function.mysql-num-rows.php если их больше нуля, потом mysql_result и тоже проверяй если mysql_result вернула не FALSE. Ещё один вывод, mysql_* удалили уже в PHP 7 и предупреждали ещё с PHP 5, так что переходи на mysqli_* или PDO.
boolean это тип такой. там либо тру, либо фалс. Обычно там фалс. И обычно это значит, что запрос обломился. Т.е. что-то в запросе или в бд.
Самый прикол в том что в целом код работает, и все данные предоставляет, поскольку все данные в базу вбиваются пользователями через формы и отправляются на сервер. Сразу скажу что код писал не я, это написано еще до меня в году так 2000-2002, я лишь пришел и пытаюсь разобраться со всем этим гемором (проект "электронный журнал " колледжа). Здесь очень много чего не работает, и моя задача что бы это заработало!!!! пока что вышел из положения следующим образом Код (Text): error_reporting('E_ALL'); ini_set('display_errors','Of'); дабы эти 3 строчки не мозолили глаза пользователям! но все равно думаю что ошибку нужно решать!!! Большое спасибо тем кто откликнулся! буду искать копать и проверять!
@Kelebra отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
Всем привет. помогите пожалуйста устранить ошибку Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in Z:\home\test1.ru\www\admin\field.php on line 370 Код (Text): if($rr['field']) $titl="Редактирование поля: ".$rr['field']; else $titl="Добавления поля"; require ('top.php'); if($_REQUEST['add']) { echo '<h3>СПРАВКА</h3>'; $m = mysqli_query($connect, "SHOW COLUMNS FROM ".$database.".board"); while($mm = mysqli_fetch_array($m)) 370 строчка { $b = explode($arr_typ_field[$field_typ][3], $mm[0]); if(count($b)>1) { $arr_field[] = $mm[0]; $arr_num[] = $b[1]; } } if($arr_num) { $max=max($arr_num); $field_after = $arr_typ_field[$field_typ][3].$max; $field_new = $arr_typ_field[$field_typ][3].($max+1); } else { $field_after = 'id_catalog'; if($arr_typ_field[$field_typ][5]=='sp' || $arr_typ_field[$field_typ][5]=='dp') $field_new = $arr_typ_field[$field_typ][3]; else $field_new = $arr_typ_field[$field_typ][3].'1'; } echo 'Доступные поля для типа <font color='.$arr_typ_field[$field_typ][1].'>'.$arr_typ_field[$field_typ][0].'</font> в таблице '.$catalog_typ.': <br>'; if(!$arr_field) echo '<font color=red>Нет доступных полей</font><br>'; else { foreach($arr_field as $af) { echo '<font color=green>'.$af."</font><br>"; } echo 'Занятые поля для данного типа в текущем каталоге: <br>'; $q="SELECT * FROM field WHERE (field_field REGEXP '[[:<:]]".$arr_typ_field[$field_typ][3]."' OR field_field_two REGEXP '[[:<:]]".$arr_typ_field[$field_typ][3]."') AND id_catalog='".$id_catalog."'"; $r1=mysqli_query($connect, $q); while ($rr1=mysqli_fetch_array($r1)) { if($rr1['field_field']) $arr_tab[] = $rr1['field_field']; if($rr1['field_field_two']) $arr_tab[] = $rr1['field_field_two']; }