Ошибка supplied argument is not a valid

Это жесть

$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's user avatar

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

Meredith L. Patterson's user avatar

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

The Disintegrator's user avatar

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

inakiabt's user avatar

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

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

помогите решить проблему.
хочу вытянуть из базы поле но почему то показывает ошибку
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in … on line 2

вот код:

PHP
1
2
   $lon_query=mysql_query("select long from cities where id_city='1'");
   $lon_result=mysql_fetch_array($lon_query);

в поле 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

PHP
1
2
3
4
$sql = mysql_connect('127.0.0.1','login','password');
mysql_select_db('basename',$sql);
$lon_query=mysql_query("select long from cities where id_city='1'",$sql);
$lon_result=mysql_fetch_array($lon_query);



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().

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php 
$sql = "select * from users where username='".$_POST["name"]."'"; 
$result = mysql_query($sql); 
if(!$result) 
{ 
  echo "Возникла ошибка - ".mysql_error()."<br>"; 
  echo $sql; 
  exit(); 
} 
// Далее остальной код 
?>



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

уже все перепробывал гляньте свежим глазом
P.S на денвере работает все нормально

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
 
/// Здесь настройки подключения к БД
$bd_host = "localhost";
 
$bd_user     = "obmen"; // - логин
$bd_password = "obmen"; // - пароль
$bd_base     = "obmen"; // - имя базы
 
 
mysql_connect($bd_host, $bd_user, $bd_password) or die(mysql_error());
mysql_select_db($bd_base);
 
 
// параметры
$conf = mysql_query("SELECT * FROM Settings where s='1' limit 1");  
 
$cr=mysql_fetch_assoc($conf);
 
 
$SITENAME  = $cr['sitename'];
$SITENAME  = str_replace('+',"<br>",$SITENAME);
 
$SITED     = $cr['domen'];
$SITEDESC  = $cr['description'];
$SITEKEYW  = $cr['keywords'];
$SEC       = $cr['seconds'];
?>



0



Karpo

5 / 6 / 4

Регистрация: 03.12.2009

Сообщений: 267

01.08.2011, 01:22

11

Dante5, у Вас скорее всего mysql_query возвращает ложь. Проверьте это, выведя результат выполнения функции.

PHP
1
die(var_dump($conf));

после

PHP
1
$conf = mysql_query("SELECT * FROM Settings where s='1' limit 1");

mysql_query может возвратить ложь, к примеру, если выбрано 0 строк.
Попробуйте выполнить Ваш запрос в phpmyadmin и посмотрите на результат.

Добавлено через 6 минут
rom-scorpion, тот же совет Вам. Попробуйте выполнить Ваш запрос в phpmyadmin. Обычно в полях с названием id_city хранят числа. Попробуйте заменить where id_city=’1′ на where id_city= 1, но запрос сперва выполните в phpmyadmin, он укажет где ошибка.



0



Humanoid

Почетный модератор

11309 / 4283 / 439

Регистрация: 12.06.2008

Сообщений: 12,342

01.08.2011, 08:13

12

Цитата
Сообщение от Karpo
Посмотреть сообщение

mysql_query может возвратить ложь, к примеру, если выбрано 0 строк

Если запрос правильный, но просто нет строк, удовлетворяющих условию, то он вернёт ресурс, как положено. Тут что-то другое… возможно, столбца не существует или таблицы. Просто после mysql_query() надо вызвать

PHP
1
echo mysql_error();

Тогда он покажет, что не так.



0



okay_bro

2 / 2 / 0

Регистрация: 21.07.2011

Сообщений: 83

02.08.2011, 02:25

13

теперь и у меня то же самое вылезает

HTML5
1
2
3
4
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 'table' at line 1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:homeoops.ruwwwexample.php on line 222
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:homeoops.ruwwwexample.php on line 236

сам скрипт

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
 
$db = mysql_connect("localhost","alex","a123b");
 
mysql_query("SET NAMES cp1251");
 
mysql_select_db("first",$db);
 
$result = mysql_query("SELECT * FROM table", $db);
echo mysql_error();
$myrow = mysql_fetch_array($result);
 
do
{
echo "<tr class=''>";
echo "<td class='nom'>№".$myrow["id"]."</td>";
echo "<td class='nam'>".$myrow["name"]."</td>";
echo "<td class='o'><a href='#'>Текст</a></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "</tr>";
}
while($myrow = mysql_fetch_array($result));
 
?>

Что это значит?

Добавлено через 27 минут
Создал такую же бд с другими названиями и все заработало, такие дела =)



0



Humanoid

Почетный модератор

11309 / 4283 / 439

Регистрация: 12.06.2008

Сообщений: 12,342

02.08.2011, 08:00

14

TABLE — служебное слово… поэтому и не может понять. Можешь его взять в кавычки, которые на латинской раскладке вместо буквы «ё» ставятся.

SQL
1
SELECT * FROM `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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
 
include ('db.php');
 
$id = $_GET['id'];
$type = $_GET['type'];
 
$query = mysql_query("SELECT * FROM $type WHERE id='$id' ");
$result = mysql_query($query);
$myrow = mysql_fetch_array($result);
 
 
 
 
?>
 
<table border="1">
 
<tr>
<th>Назва</th>
<td width="100"><? 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

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

$type = $_GET[‘type’]; $query = mysql_query(«SELECT * FROM $type WHERE id=’$id’ «);

А если зайти на твою страницу как
view.php?type=mysql.user—

В общем, нельзя напрямую данные из _GET, _POST и т.п. использовать как часть запроса. А особенно имя таблицы оттуда брать. В этом случае даже addslashes() не поможет. Но вопрос не в дырках кода.

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Такую ошибку php выдаёт, когда не смог выполнить запрос… в этом случае mysql_query вернул не ресурс для дальнейшей работы, а false. Можно между 9 и 10 строками вставить:

PHP
1
2
3
4
if (!$result) {
  echo mysql_error();
  exit();
}

Ну а возвращаясь к вопросам безопасности… лучше переходить с обычного 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 = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ;

что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .



0



Почетный модератор

11309 / 4283 / 439

Регистрация: 12.06.2008

Сообщений: 12,342

23.05.2014, 14:52

18

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

$id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ;
что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .

По идее так должно работать. Возможно, ссылка неправильная при нажатии на товар… должно быть что-то вроде 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мельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 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мельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 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

@xbotkaj<? 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

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

$type = $_GET[‘type’]; $query = mysql_query(«SELECT * FROM $type WHERE id=’$id’ «);

А если зайти на твою страницу как
view.php?type=mysql.user—

В общем, нельзя напрямую данные из _GET, _POST и т.п. использовать как часть запроса. А особенно имя таблицы оттуда брать. В этом случае даже addslashes() не поможет. Но вопрос не в дырках кода.

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Такую ошибку php выдаёт, когда не смог выполнить запрос… в этом случае mysql_query вернул не ресурс для дальнейшей работы, а false. Можно между 9 и 10 строками вставить:

PHP
1
2
3
4
if (!$result) {
  echo mysql_error();
  exit();
}

Ну а возвращаясь к вопросам безопасности… лучше переходить с обычного 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 = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ;

что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .



0



Почетный модератор

11309 / 4283 / 439

Регистрация: 12.06.2008

Сообщений: 12,342

23.05.2014, 14:52

18

Цитата
Сообщение от stetsyuraoleg
Посмотреть сообщение

$id = !empty($_GET[‘id’]) ? intval($_GET[‘id’]) : 0 ;
что здесь изменить чтоб выводило товар с базы не под id = 0, а та на которую выберет пользователь , например 8 или 12 .

По идее так должно работать. Возможно, ссылка неправильная при нажатии на товар… должно быть что-то вроде 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мельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 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мельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 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

@MGatner

Sort of a duplicate of #2049, which should probably be reopened. This is partly underway (see #2168) but needs an actual PR.

@xbotkaj



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*

@michalsn

You can try this fix #2204

@xbotkaj



Copy link


Contributor


Author

You can try this fix #2204

Sorry didn’t see your pull request :/ I did it a bit another way.

@michalsn

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.

@xbotkaj



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
MGatner

added this to the
4.0.0-rc.2 milestone

Sep 14, 2019

@MGatner
MGatner

added
the

bug

Verified issues on the current code behavior or pull requests that will fix them

label

Sep 14, 2019

@michalsn

@xbotkaj this should be fixed by #2168

Please, give it a try if you find a moment.

@xbotkaj



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
jim-parry

modified the milestones:

4.0.0-rc.2,

4.0.0-rc.3

Sep 24, 2019

@xbotkaj



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
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

@khuderm

I am experiencing this on Ubuntu 18.04.3 running php7 and apache2

@xbotkaj



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.

@michalsn

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

@MGatner

@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.

@michalsn

@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.

@MGatner

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.

@michalsn

Yes, I definitely agree with you that using php://stderr seems a «little» wrong but for now I have no other ideas.

@lonnieezell

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

Понравилась статья? Поделить с друзьями:
  • Ошибка sup стиральная машина samsung
  • Ошибка sudo unable to resolve host
  • Ошибка sud а пены нет
  • Ошибка submit is not a function
  • Ошибка subaru all oil temp