Kyle Gottfried Ответов: 3

mysql_fetch_array() ожидает, что параметр 1 будет ресурсным, логическим заданным


mysql_fetch_array() ожидает параметр 1 будет ресурсом, булевым данный В то время как аргумент петли.

$results=mysql_query("SELECT * FROM order_details WHERE orderid = $orderid");
		
		print "SELECT * FROM order_details WHERE orderid = $orderid";
		
		$productid;
		$quantity;
		$price;
		
		$resultset = array();
while ($row = mysql_fetch_arraY($results)) {
  $resultset[] = $row;
}
		
		foreach ($resultset as $result)
		{
		print "1";
		
		/*$productid = $result['productid'];
		$quantity = $result['quantity'];
		$price = $result['price'];*/
		
		//print "<br />$productid, $quantity, $price";
		};

enhzflep

Читатели QA CodeProject ожидают, что будет дан ответ на вопрос, утверждение и дамп кода.

Подсказка: выведите выполненный запрос на экран.(как вы уже сделали) Скопируйте его, вставьте в phpMyAdmin и запустите. Посмотрите, почему запрос терпит неудачу, исправьте его и двигайтесь дальше.

3 Ответов

Рейтинг:
20

Kyle Gottfried

for($i=0;$i<$max;$i++) {
			$pid=$_SESSION['cart'][$i]['productid'];
            $q=$_SESSION['cart'][$i]['qty'];
            $price=get_price($pid);
			
			$pname;
	
			$row = mysql_fetch_assoc(mysql_query("SELECT name\n"
			. "FROM `products` \n"
			. "WHERE SERIAL =$pid\n"
			. "LIMIT 1"));
			$pname = $row['name'];
			
			print "<br  />Product Name: $pname, Quantity: $q, Price: $price";
		}


Рейтинг:
1

Er. Tushar Srivastava

Привет Друг,
Если я не ошибаюсь, то имя переменной $order_id в запросе должно быть внутри одинарной кавычки..
Так

$query = "SELECT * FROM order_details WHERE orderid = '$order_id'";  // Notice the single quotes here


Надеюсь, что это помогло..

по отношению
Тушар Шривастава


Рейтинг:
0

UlrichvL

Если он говорит: mysql_fetch_array() ожидает, что параметр 1 будет resource, boolean given, это обычно означает, что первый параметр ($result) возвращает false или 0 (boolean). Я думаю, что ваша проблема здесь:

$results=mysql_query("SELECT * FROM order_details WHERE orderid = $orderid");


попробовать это:

$подключения = функцию mysql_connect("localhost в", "корень", "пароль") или умереть (mysql_error());

mysql_select_db("Dbname", $connect);

$sql = "SELECT * FROM order_details WHERE orderid = $orderid";
$result = mysql_query($sql, $connect);
while ($row = mysql_fetch_array($result)) {
$resultset[] = $row;
}

foreach ($resultset as $result)
{
печать "1";

/*$productid = $result['productid'];
$quantity = $result['количество'];
$price = $result['цена'];*/

//print "<br />$productid, $quantity, $price";
};

Если это не сработает, ваша проблема может быть здесь:
$resultset[] = $row;
}

        foreach ($resultset as $result)
        {
        print "1";