Это жесть
$query = queryMysql("SELECT id FROM clients WHERE group_id = '$group'");
Кто когда нибудь видел функцию queryMysql??
$result = mysql_query("SELECT id FROM clients WHERE group_id = '".$group."'");// долго буду писать всем, что добавьте вы **".$VALUE."** чтобы точно запрос прошел, чтобы переменная подставилась.
Обычно пишут так
while ($row = mysql_fetch_array($result)) { // СТРОКА 20
$id = $row['id'];
$res = mysqlquery("UPDATE `clients` SET `group_id` = '0' WHERE `id` = '".$id."'");// не нужно никаких **;** в запросе!
}
Теперь об ошибке.
Warning: mysql_fetch_assoc(): supplied
argument is not a valid MySQL result
resource in
W:domainsbasewwwcoremodsgroupsdeletegroup.php
on line 20
Смотрим весь код
$group = clear($_GET['id']);
$query = queryMysql("SELECT id FROM clients WHERE group_id = '$group'");
while ($c = mysql_fetch_assoc($query)) { // СТРОКА 20
$id = $c['id'];
$query = queryMysql("UPDATE `clients` SET `group_id` = '0' WHERE `id` = '$id';");
}
Нет ничего в глаза не бросается? А мне бросается, когда пишут небольшой бред и неправильно используют переменные.
$query = queryMysql("SELECT id FROM clients WHERE group_id = '$group'");
while ($c = mysql_fetch_assoc($query)) { // СТРОКА 20
$query = queryMysql("UPDATE `clients` SET `group_id` = '0' WHERE `id` = '$id';");
Ничего похожего в строчках нет?
Правильно есть переменная query которая должна быть только в начале, в цикле её быть не должно, а точнее должна быть другая.
Поясняю русским языком.
До цикла вытаскиваем данные, начинаем пробегать по ним в цикле, и в первой же итерации у нас данные меняются, причем аж целой структурой меняются! и мускул правильно пишет ошибку.
ps. Вот такие ошибки, кстати, сложно отлавливать!
I get this error when I use this code for people to input data. The submit form won’t be listed because it’s not useful in this circumstance:
function some_more_custom_content() {
$output="<BR>";
ob_start();
if ($_REQUEST['code'] != "") {
$code = $_REQUEST['code'];
$query="INSERT INTO `fc` (`code`,`datetime`) values ('" . mysql_real_escape_string($code) . "', now())";
$result=mysql_query($query);
while ($fetch_array = mysql_fetch_array($result)) {
$seconds = time() - strtotime($fetch_array["datetime"]);
if ((time() - $entry['datetime']) < 60*60) {
echo ("The code " . htmlentities($code) ." was updated less than an hour ago.");
} else {
echo ("Inserted " . htmlentities($code) ." into the top.");
}
}
}
Any idea why?
RAS
8,08016 gold badges64 silver badges86 bronze badges
asked Aug 6, 2009 at 1:55
1
INSERT
statements don’t return a resource, they return TRUE
on success or FALSE
on failure. Thus there is no resource for mysql_fetch_array()
to operate on.
(This is one of the main reasons why people complain about PHP — its semantics are inconsistent at best.)
answered Aug 6, 2009 at 1:59
5
Adding to Meredith Answer.
You shoul use
if($result!==FALSE) {
// the insert was ok
} else {
//the inser failed
}
answered Aug 6, 2009 at 2:09
change:
$result=mysql_query($query);
with:
$result=mysql_query($query) or die(mysql_error());
you will see the error.
answered Aug 6, 2009 at 5:03
inakiabtinakiabt
1,9431 gold badge16 silver badges28 bronze badges
rom-scorpion 0 / 0 / 0 Регистрация: 11.07.2009 Сообщений: 40 |
||||
1 |
||||
28.10.2009, 18:42. Показов 55018. Ответов 25 Метки нет (Все метки)
помогите решить проблему. вот код:
в поле long содержатся значение, к примеру такие «-12.453» что не так?
0 |
Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
|
28.10.2009, 18:59 |
2 |
В функции mysql_query попробуй добавить второй параметр с результатом выполнения mysql_connect
0 |
0 / 0 / 0 Регистрация: 11.07.2009 Сообщений: 40 |
|
28.10.2009, 19:14 [ТС] |
3 |
я что то не понял….
0 |
Humanoid Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
||||
28.10.2009, 19:59 |
4 |
|||
1 |
0 / 0 / 0 Регистрация: 11.07.2009 Сообщений: 40 |
|
29.10.2009, 10:19 [ТС] |
5 |
к сожалению ошибка осталась та самая…
0 |
0 / 0 / 0 Регистрация: 11.07.2009 Сообщений: 40 |
|
29.10.2009, 12:29 [ТС] |
6 |
Ура! проблема решена.
0 |
Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
|
29.10.2009, 18:41 |
7 |
Как, если не секрет?
1 |
shadowmaster63 20 / 19 / 1 Регистрация: 20.10.2009 Сообщений: 103 |
||||
29.10.2009, 20:00 |
8 |
|||
у меня та же ошибка было но так и не понял почему Решил проблему поставив @ перед @mysql_fetch_array($res) А вообще если вы видете сообщение об ошибке Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in — это означает, что вы не обработали возможные ошибки обработки SQL-запроса, такая ошибка возникла и функциия mysql_query() вернула false вместо дескриптора результирующей таблицы. Далее скрипт передаёт false функции mysql_fetch_array(), на что она естественно огрызается. Следует обработать возможные ошибки для всех функций mysql_query().
2 |
0 / 0 / 0 Регистрация: 11.07.2009 Сообщений: 40 |
|
02.11.2009, 19:06 [ТС] |
9 |
$lon_query=mysql_query(«select long from cities where id_city=’1′»,$sql); поле было с названием long, нужно было его поменять на другое имя, вот и все. небольшая дурацкая ошибка…
0 |
Dante5 0 / 0 / 0 Регистрация: 13.12.2010 Сообщений: 73 |
||||
01.08.2011, 01:01 |
10 |
|||
Таже проблема Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/virtwww/w_seo-macler_386b48c4/http/admin/config/config.php on line 24 уже все перепробывал гляньте свежим глазом
0 |
Karpo 5 / 6 / 4 Регистрация: 03.12.2009 Сообщений: 267 |
||||||||
01.08.2011, 01:22 |
11 |
|||||||
Dante5, у Вас скорее всего mysql_query возвращает ложь. Проверьте это, выведя результат выполнения функции.
после
mysql_query может возвратить ложь, к примеру, если выбрано 0 строк. Добавлено через 6 минут
0 |
Humanoid Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
||||
01.08.2011, 08:13 |
12 |
|||
mysql_query может возвратить ложь, к примеру, если выбрано 0 строк Если запрос правильный, но просто нет строк, удовлетворяющих условию, то он вернёт ресурс, как положено. Тут что-то другое… возможно, столбца не существует или таблицы. Просто после mysql_query() надо вызвать
Тогда он покажет, что не так.
0 |
okay_bro 2 / 2 / 0 Регистрация: 21.07.2011 Сообщений: 83 |
||||||||
02.08.2011, 02:25 |
13 |
|||||||
теперь и у меня то же самое вылезает
сам скрипт
Что это значит? Добавлено через 27 минут
0 |
Humanoid Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
||||
02.08.2011, 08:00 |
14 |
|||
TABLE — служебное слово… поэтому и не может понять. Можешь его взять в кавычки, которые на латинской раскладке вместо буквы «ё» ставятся.
1 |
stetsyuraoleg 0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 53 |
||||
22.05.2014, 13:37 |
15 |
|||
У меня подобная ситуация вот код должен выводить данные в таблицу из базы данных, но результат не выводит ничего и выбивает вот такую ошибку : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:AppServwwwshopview.php on line 93
0 |
Humanoid Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
||||
22.05.2014, 20:35 |
16 |
|||
$type = $_GET[‘type’]; $query = mysql_query(«SELECT * FROM $type WHERE id=’$id’ «); А если зайти на твою страницу как
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource Такую ошибку php выдаёт, когда не смог выполнить запрос… в этом случае mysql_query вернул не ресурс для дальнейшей работы, а false. Можно между 9 и 10 строками вставить:
Ну а возвращаясь к вопросам безопасности… лучше переходить с обычного mysql на PDO_MySQL или на mysqli. Сервер остаётся тот же самый, только на php другие способы общения с ним. А обычные функции mysql_ уже считаются устаревшими и могут быть удалены в будущих версиях.
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 53 |
|
23.05.2014, 11:56 |
17 |
теперь выводит данные с таблицы но выводит только определьонный id который прописаный , а мне нужно если я нажму на товар и в него id = 8 , то переходит именно на этот товар .Как сделать $id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 1 ; вот здесь 1 , а если я нажму на товар под другим id ? Как сделать ? Добавлено через 11 часов 43 минуты Добавлено через 3 часа 30 минут что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .
0 |
Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
|
23.05.2014, 14:52 |
18 |
$id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ; По идее так должно работать. Возможно, ссылка неправильная при нажатии на товар… должно быть что-то вроде view.php?id=8
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 53 |
|
23.05.2014, 15:00 |
19 |
у меня две страницы , на одной все товары с базы данных выводят , но просто название и цена , когда нажымаешь на конкретный товар , должно перейти на страницу уже этого товара с полным описанием , которое тоже береться с базы . А здесь в коде стоит 0 , когда я нажымаю на товар , выбивает что товар не найден , а когда меняю на 1 в коде выбивает постоянно только товар под первым id . Как сделать так чтоб выбивало тот товар на который нажал ?
0 |
#1 10.10.2011 00:48:51
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Ошибка supplied argument is not a valid MySQL… что делать?
Обновлял вордпресс и видимо что-то пошло не так!
теперь админка не работает..выдает ошибку:
Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in /home/users1/y/yanshrimp/domains/yantheshrimp.com/wp-includes/wp-db.php on line 1550
в коде:
function db_version() {
return preg_replace( ‘/[^0-9.].*/’, », mysql_get_server_info( $this->dbh ) ) ;
__________
FAQ говорит:
2. Возникла ошибка «Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource».
Предыдущий SQL-запрос выполнился с ошибкой. Чтобы узнать причину ошибки, добавьте обработку ошибок в скрипт
$result = mysql_query($sql) or die(mysql_error());
Сделал…ничего не изменилось!!!!
СПАСАЙТЕ, ПОМОГАЙТЕ!!
Неактивен
#2 10.10.2011 01:54:00
- LazY
- _cмельчак
- Зарегистрирован: 02.04.2007
- Сообщений: 845
Re: Ошибка supplied argument is not a valid MySQL… что делать?
Проверьте, в том ли месте вставлен этот код.
Судя по всему, он должен быть где-то в функции mysql_get_server_info или же в какой-то, которая из нее вызывается — там, где вызов mysql_query().
Неактивен
#3 10.10.2011 10:38:13
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Re: Ошибка supplied argument is not a valid MySQL… что делать?
так это и есть функция mysql_get_server_info…
Вся странность в том.что тоже такой-же сайт .. на том же хосте обновился без проблем…а этот глючит.
Неактивен
#4 10.10.2011 20:04:09
- LazY
- _cмельчак
- Зарегистрирован: 02.04.2007
- Сообщений: 845
Re: Ошибка supplied argument is not a valid MySQL… что делать?
Тогда попробуйте вывести SQL-запрос и выполнить его вручную через консоль mysql или, на худой конец, PHPMyAdmin
Неактивен
#5 10.10.2011 21:11:34
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Re: Ошибка supplied argument is not a valid MySQL… что делать?
с радостью, если подскажите как этосделать…
я не профессионал в данных вопросах.
Неактивен
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
xbotkaj opened this issue
Sep 9, 2019
· 17 comments
Labels
bug
Verified issues on the current code behavior or pull requests that will fix them
Comments
<? echo $myrow['zagol']?></td>
</tr>
<tr>
<th>Цена</th>
<td><? echo $myrow['price'] ?></td>
</tr>
<tr>
<th>Опис</th>
<td><? echo $myrow['text'] ?></td>
</tr>
</table>
0
Humanoid Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
||||
22.05.2014, 20:35 |
16 |
|||
$type = $_GET[‘type’]; $query = mysql_query(«SELECT * FROM $type WHERE id=’$id’ «); А если зайти на твою страницу как
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource Такую ошибку php выдаёт, когда не смог выполнить запрос… в этом случае mysql_query вернул не ресурс для дальнейшей работы, а false. Можно между 9 и 10 строками вставить:
Ну а возвращаясь к вопросам безопасности… лучше переходить с обычного mysql на PDO_MySQL или на mysqli. Сервер остаётся тот же самый, только на php другие способы общения с ним. А обычные функции mysql_ уже считаются устаревшими и могут быть удалены в будущих версиях.
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 53 |
|
23.05.2014, 11:56 |
17 |
теперь выводит данные с таблицы но выводит только определьонный id который прописаный , а мне нужно если я нажму на товар и в него id = 8 , то переходит именно на этот товар .Как сделать $id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 1 ; вот здесь 1 , а если я нажму на товар под другим id ? Как сделать ? Добавлено через 11 часов 43 минуты Добавлено через 3 часа 30 минут что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .
0 |
Почетный модератор 11309 / 4283 / 439 Регистрация: 12.06.2008 Сообщений: 12,342 |
|
23.05.2014, 14:52 |
18 |
$id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ; По идее так должно работать. Возможно, ссылка неправильная при нажатии на товар… должно быть что-то вроде view.php?id=8
0 |
0 / 0 / 0 Регистрация: 24.12.2012 Сообщений: 53 |
|
23.05.2014, 15:00 |
19 |
у меня две страницы , на одной все товары с базы данных выводят , но просто название и цена , когда нажымаешь на конкретный товар , должно перейти на страницу уже этого товара с полным описанием , которое тоже береться с базы . А здесь в коде стоит 0 , когда я нажымаю на товар , выбивает что товар не найден , а когда меняю на 1 в коде выбивает постоянно только товар под первым id . Как сделать так чтоб выбивало тот товар на который нажал ?
0 |
#1 10.10.2011 00:48:51
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Ошибка supplied argument is not a valid MySQL… что делать?
Обновлял вордпресс и видимо что-то пошло не так!
теперь админка не работает..выдает ошибку:
Warning: mysql_get_server_info(): supplied argument is not a valid MySQL-Link resource in /home/users1/y/yanshrimp/domains/yantheshrimp.com/wp-includes/wp-db.php on line 1550
в коде:
function db_version() {
return preg_replace( ‘/[^0-9.].*/’, », mysql_get_server_info( $this->dbh ) ) ;
__________
FAQ говорит:
2. Возникла ошибка «Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource».
Предыдущий SQL-запрос выполнился с ошибкой. Чтобы узнать причину ошибки, добавьте обработку ошибок в скрипт
$result = mysql_query($sql) or die(mysql_error());
Сделал…ничего не изменилось!!!!
СПАСАЙТЕ, ПОМОГАЙТЕ!!
Неактивен
#2 10.10.2011 01:54:00
- LazY
- _cмельчак
- Зарегистрирован: 02.04.2007
- Сообщений: 845
Re: Ошибка supplied argument is not a valid MySQL… что делать?
Проверьте, в том ли месте вставлен этот код.
Судя по всему, он должен быть где-то в функции mysql_get_server_info или же в какой-то, которая из нее вызывается — там, где вызов mysql_query().
Неактивен
#3 10.10.2011 10:38:13
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Re: Ошибка supplied argument is not a valid MySQL… что делать?
так это и есть функция mysql_get_server_info…
Вся странность в том.что тоже такой-же сайт .. на том же хосте обновился без проблем…а этот глючит.
Неактивен
#4 10.10.2011 20:04:09
- LazY
- _cмельчак
- Зарегистрирован: 02.04.2007
- Сообщений: 845
Re: Ошибка supplied argument is not a valid MySQL… что делать?
Тогда попробуйте вывести SQL-запрос и выполнить его вручную через консоль mysql или, на худой конец, PHPMyAdmin
Неактивен
#5 10.10.2011 21:11:34
- shrimp
- Участник
- Зарегистрирован: 10.10.2011
- Сообщений: 3
Re: Ошибка supplied argument is not a valid MySQL… что делать?
с радостью, если подскажите как этосделать…
я не профессионал в данных вопросах.
Неактивен
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
xbotkaj opened this issue
Sep 9, 2019
· 17 comments
Labels
bug
Verified issues on the current code behavior or pull requests that will fix them
Comments
Describe the bug
Using CURLReqguest class produce error:
CRITICAL — 2019-09-09 21:04:32 —> curl_setopt_array(): supplied argument is not a valid File-Handle resource
CodeIgniter 4 version
CI4 — RC1
Affected module(s)
CURLRequest
Expected behaviour, and steps to reproduce if appropriate
Any attempt where is not set debug option will produce this error since Class initialize $config[‘debug’] = false and later check if via isset() and not via standard condition (true/false) directly from the option so every time this will pass, and it will pass empty option to CURL options that will produce error.
Context
- OS: Windows 8.1
- Web server Apache
- PHP version 7.3.8
Sort of a duplicate of #2049, which should probably be reopened. This is partly underway (see #2168) but needs an actual PR.
Copy link
Contributor
Author
I fixed first part, simple by changing condition but anyway after allowing debug it will throw this error:
CRITICAL — 2019-09-10 07:52:14 —> curl_setopt_array(): cannot represent a stream of type Output as a STDIO FILE*
You can try this fix #2204
Copy link
Contributor
Author
You can try this fix #2204
Sorry didn’t see your pull request :/ I did it a bit another way.
Well… from what I see, you removed the CURLOPT_STDERR
part so it won’t work.
According to the documentation, we should have the ability to write the output to a file or just «echo» it when the debug option is enabled.
Copy link
Contributor
Author
Well… from what I see, you removed the
CURLOPT_STDERR
part so it won’t work.
According to the documentation, we should have the ability to write the output to a file or just «echo» it when the debug option is enabled.
Yeah, I just realize it You are right…
MGatner
added this to the
4.0.0-rc.2 milestone
Sep 14, 2019
MGatner
added
the
bug
Verified issues on the current code behavior or pull requests that will fix them
label
Sep 14, 2019
@xbotkaj this should be fixed by #2168
Please, give it a try if you find a moment.
Copy link
Contributor
Author
@xbotkaj this should be fixed by #2168
Please, give it a try if you find a moment.
Sorry I was few days off… I will look into it more in the next days.
This was referenced
Sep 21, 2019
jim-parry
modified the milestones:
4.0.0-rc.2,
4.0.0-rc.3
Sep 24, 2019
Copy link
Contributor
Author
Update to this issue. It is confirmed windows related problem. Uploaded to LINUX server and it works fine with php://output
.
I tried to update CURL program in XAMPP without change. Maybe is problem in PHP curl extension for windows.
Similar issue in original guzzle -> guzzle/guzzle#1413
xbotkaj
changed the title
CURLRequest — supplied argument is not a valid File-Handle resource
CURLRequest — supplied argument is not a valid File-Handle resource #Windows x64
Sep 25, 2019
I am experiencing this on Ubuntu 18.04.3 running php7 and apache2
Copy link
Contributor
Author
I am experiencing this on Ubuntu 18.04.3 running php7 and apache2
Can you please write specific php build and full version of Apache? Maybe we can track it down. If it is possible please check curl extension version.
Finally, I had time to get my hands dirty with a windows machine.
I was able to reproduce this problem and also I have a possible solution.
Tested on machines/environments:
- Win7 — spark with php 7.3.9 and xampp (apache 2.4.41 + php 7.3.9)
- MacOS — spark with php 7.3.9
- Ubuntu — nginx 1.13.3 + php 7.2.11
@michalsn Is the problem that php://output
isn’t supported on Windows? I can’t find any documentation on this, and the PHP site states it as though it is a standard stream, always available. There are a lot of users reporting issues with it though. I personally don’t think stderr
is the most logical destination for the debug output, but it might be the low-hanging fruit right now.
@MGatner I couldn’t find much about php://output
for Windows but apparently, it doesn’t work as expected. Technical reasons are unclear for me.
From what I understand php://stderr
can be actually what we want. When running a built-in server via spark serve
it will be outputted to the console screen. In the other case, it will write to the server error log.
It would be nice if someone could check if that referenced PR solves the problem in his case. Also — any other suggestions/ideas will be appreciated.
I understand the solution, and I agree with you — I was just noting that stderr
feels like the wrong place to be sending debug output, even if it has the desired effect for our scenarios. But I think it is what we’ve got for now, and I’ll be very glad to close this one out. Thank you for the troubleshooting and research — I’ll give those with the issue a chance to test this solution before we merge but IMO this is ready.
Yes, I definitely agree with you that using php://stderr
seems a «little» wrong but for now I have no other ideas.
I can live with this solution for now, though I agree it doesn’t feel perfect. As long as there’s a note in the docs about this caveat I think we can close it out and get this feature working for people again.
Thanks for your work on this @michalsn
Labels
bug
Verified issues on the current code behavior or pull requests that will fix them