Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2020, 01:25   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию Как правильно написать запрос ?

Здравствуйте кто читает. Не получается переписать запрос к БД с Mysql на Mysqli
Было так -
Код:
$query = "SELECT * FROM catalog WHERE parent_id = '".$parent_id."' ORDER BY num";
$result = mysql_query($query);	
$nr = mysql_num_rows($result);  
	  
while ($rr = mysql_fetch_array($result))
Сделал так
Код:
$query = "SELECT * FROM catalog WHERE parent_id = '".$parent_id."' ORDER BY num";
mysqli_query > $result = ($query);	
$nr = mysqli_num_rows > mysqli_result ;   
while ($rr = mysqli_fetch_array($result))
Пишет ошибку - Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in

Почему ? Кто знает подскажите пожалуйста.
ROM710 вне форума Ответить с цитированием
Старый 03.05.2020, 14:48   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
query = "SELECT * FROM catalog WHERE parent_id = '".$parent_id."' ORDER BY num";
mysqli_query > $result = ($query);
$nr = mysqli_num_rows > mysqli_result ;
while ($rr = mysqli_fetch_array($result))
Мне страшно даже подумать ,как вы дошли да такого и чем руководствовались ?

Код:
// Создаем подключение и указатель $db
$db = mysqli_connect("localhost", "user", "pass", "db_name");

// Проверяем нет ли ошибок подключения
if (mysqli_connect_errno()) {
    exit("Connect failed: " . mysqli_connect_error());
}

// Делаем запрос
if ($result = mysqli_query($db, "SELECT * FROM catalog WHERE parent_id = '{$parent_id}' ORDER BY num")) {
	// Проверяем запрос, если не пустой, то идем дальше
	if (mysqli_num_rows($result) > 1) {
		// Получааем данные с изапроса
		while (false != ($row = mysqli_fetch_array($result))) {
			var_dump($row);
		}
	}
	// освобождаем панять от данных с запроса
	mysqli_free_result($result);
}
// Закрывает соединение
mysqli_close($db);
uberchel вне форума Ответить с цитированием
Старый 03.05.2020, 15:23   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Спасибо uberchel , так же выдает ошибки. Значить причина где то в другом месте.
ROM710 вне форума Ответить с цитированием
Старый 03.05.2020, 20:33   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
Спасибо uberchel , так же выдает ошибки. Значить причина где то в другом месте.
Скиньте сюда полный код и описание ошибки
uberchel вне форума Ответить с цитированием
Старый 04.05.2020, 10:13   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Переписывал все файлы в папке заново Дошел до этого запроса
Код:
$query = "SELECT * FROM catalog WHERE parent_id = '".$parent_id."' ORDER BY num";
$result = mysqli_query($link,$query);	
$nr = mysqli_num_rows($result);  
	  
while ($rr = mysqli_fetch_array($result))
Открывает первую строку таблицы, но выдает три ошибки - \ Warning: mysqli_query() expects parameter 1 to be mysqli, null given in Z:\home\site.0\

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in Z:\home\site.0\

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in Z:\home\site.0\ \

Вот код полностью -
Код:
if (isset($_POST["MM_insert"]) && $_POST["MM_insert"] == "rec" ) 
	{
	if($_POST['brr'])
		{
		foreach($_POST['brr'] as $key=>$bb)
			{
			if($bb) 
				{
				$new_arrs[$key][$bb]=$id_rec;
				}
			}
			
		if($new_arrs && count($new_arrs)>0)
		$new=serialize($new_arrs);
		else
		$new='';

		mysqli_query($link,"UPDATE rec SET 
		str='".$new."'
		WHERE id_rec='".$id_rec."'");

		include('_svod_rec.php');

		echo "<HTML><HEAD><meta http-equiv='Refresh' charset='utf-8' content='0; URL=refresh.php?i=".$action2."'></HEAD></HTML>";
		exit();
		}

	}



$r = mysqli_query ($link,"SELECT * FROM rec WHERE id_rec='".$id_rec."' ") or die(mysqli_connect_error());
$nr=mysqli_num_rows($r);

$rr = mysqli_fetch_array($r);
$content=$rr['rec_cont'];
$opl=$rr['opl'];

if($rr['str']) $new_arr=unserialize($rr['str']); 

$titl="Рекламный блок: ".$id_rec;
require ('top.php'); 

if($err) echo '<p><font color=red>'.$err.'</font></p>';

echo '<form method=post name=recl action="">';
echo '<TABLE width="100%" style="BORDER-COLLAPSE: collapse" cellpadding="1" cellspacing="1" border="1" bordercolor="#E2E2E2">';
echo '<tr align=center >';
echo '<td>';
echo 'Страница';
echo '<td><font color=red>Отключено</font>';

for($i=1; $i<3; $i++)
{
echo '<td>место '.$i;
}


	echo '<tr align=center>';
	echo '<td align=left width="40%">';
	echo '<img src="../icon/file.gif" border=0> <a target=_blank href="../">Главная</a> '; 

	echo  '<td><input type=radio name=brr[0] value="0" >';
	
	for($i=1; $i<3; $i++)
		{
			if($new_arr[0][$i]) {$ch="checked"; $fn='bgcolor="#B6D3BE"';}
			else {$ch=''; $fn='';}
			$out .=  '<td '.$fn.'><input type=radio name=brr[0] value="'.$i.'" '.$ch.' >';
		}


function get_tree($parent_id, $prefix) {
global $out;
global $arr_typ_catalog;
global $new_arr;

$query = "SELECT * FROM catalog WHERE parent_id = '".$parent_id."' ORDER BY num";
$result = mysqli_query($link,$query);	
$nr = mysqli_num_rows($result);  
	  
while ($rr = mysqli_fetch_array($result)) 
	{
	$out .= '<tr align=center>';
	$out .= '<td align=left width="40%">';
	$out .= $prefix.'<img src="../icon/file.gif" border=0> <a target=_blank href="../catalog/'.$rr['url'].'_'.$rr['id_catalog'].'/all_0/">'.$rr['catalog'].'</a> '; 

	$out .=  '<td><input type=radio name=brr['.$rr['id_catalog'].'] value="0" >';
	
	for($i=1; $i<3; $i++)
		{
			if($new_arr[$rr['id_catalog']][$i]) {$ch="checked"; $fn='bgcolor="#B6D3BE"';}
			else {$ch=''; $fn='';}
			$out .=  '<td '.$fn.'><input type=radio name=brr['.$rr['id_catalog'].'] value="'.$i.'" '.$ch.' >';
		}

	if(!$rr['typ']) 
	get_tree($rr['id_catalog'], $prefix."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
	}
return $out;
} // end function

echo get_tree(0, "");

echo '</table>';
echo '<br><input type="submit"  class="submit" name="Submit" value="Изменить">';
echo '<input type="hidden" name="MM_insert" value="rec">';
echo '<input type="hidden" name="id_rec" value="'.$id_rec.'">';
echo '</form>';
ROM710 вне форума Ответить с цитированием
Старый 04.05.2020, 10:22   #6
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все ребята - спасибо всем, сделал. Добавил в код global $link; и таблица открылась.
ROM710 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как правильно составить запрос? Svetr SQL, базы данных 1 01.08.2013 10:36
как написать правильно запрос delfin07 БД в Delphi 0 23.12.2012 23:43
Как правильно написать запрос UPDATE. severm C# (си шарп) 6 25.07.2011 13:54
Как правильно написать запрос на удаление строки из базы данных? Arik80 Помощь студентам 4 24.06.2011 22:15
как правильно оформить запрос D_e_n_n Microsoft Office Excel 3 24.03.2011 06:34