ошибка строки SQL

KODEAK

Полезный
Регистрация
11 Апр 2009
Сообщения
172
Реакции
16
Тут создаю небольшой проект, так сказать учусь и написал регистрацию, и возникла проблемы с провекой данных
Ошибка
Undefined property: mysqli_result::$num_row
вот такой функция выполняет проверку
PHP:
function register($username, $email, $password)
{
	// Подключаем к базе данных
	$conn = db_connect();
	// Нет соединения с базой данных
	$result = $conn->query("select * from user where username='$username'");
	if(!$result)
	{
		throw new Exception('<p class="error">Невозможно выполнить запрос в БД.</p>');
	}
	// Проверить уникальность имени
	if($result->num_row > 0)
	{
		throw new Exception('<p class="error">Это имя уже занять, вернитесь на <a href="registration.php">страницу регистрации</a> и попробуйте другое имя.</p>');
	}
	// Если нету ошибок создать пользователя
	$result = $conn->query("insert into user values ('$username', sha1('$password'), '$email')");
	if(!$result)
	{
		throw new Exception('<p class="error">Невозможно сохранить данные в БД.</p>');
	}
	return TRUE;		
}
Не могу понять в чем проблема, вроде же все верно ?
 
Сложно сказать, не зная кода используемого класса для работы с БД, но видимо проблема в том, что после
PHP:
$result = $conn->query("select * from user where username='$username'");
вы не выполняете нечто, что должно выглядеть как
PHP:
$res = $conn->db_fetch_array($result);
 
ага спасибо, но только сейчас нашел ошибку в строке
PHP:
    if($result->num_row > 0)
а должно быть
PHP:
    if($result->num_rows > 0)
и кстати я пока пишу без классов =))
 
...
PHP:
    if($result->num_rows > 0)
и кстати я пока пишу без классов =))
:smmne: В каком это месте вы пишите без классов?

Судя по этой записи:
PHP:
...$result->num_rows...

У вас используется какой то класс для работы с БД.
 
без явных свои классов =), я пока правда не сильно в этом силен поэтому могу сказать бред =)
такой вопрос я делаю запрос к базе данных
PHP:
	$result = $conn->query("SELECT name from user where username='$username'");
как вывести из этой же строки с определенным пользователем другие его данные about и т.д ?
 
Просто подставьте название нужного вам поля или замените название поля на *, тогда будет выборка всех полей для данной записи...
PHP:
$result = $conn->query("SELECT * from user where username='$username'");
 
Еще один маленький вопрос, делаю запрос на вывод с конца таблицы
PHP:
$result = mysql_query("SELECT post_title FROM posts ORDER BY post_title DESC");
$num_results = mysql_num_rows($result);
$row = mysql_fetch_object($result);
mysql_close($link);
и вывожу данные
PHP:
for($i = 0; $i < $num_results; $i++)
				{
						echo $row->post_title;
				}

в таблице 2 строки title, но почему то выводит только последнюю, в чем ошибка ?
в способе вывод ? или в запросе ?
 
Примерно так
PHP:
$result = mysql_query("SELECT post_title FROM posts ORDER BY post_title DESC");
$num_results = mysql_num_rows($result);
for($i = 0; $i < $num_results; $i++)
{
$row = mysql_fetch_object($result);
echo $row->post_title;
}
mysql_close($link);
 
Спасибо, а еще такой вопрос какой подход лучше для извлечения данных и sql ?
процедурный или объекто-орентированный ?
 
Спасибо, а еще такой вопрос какой подход лучше для извлечения данных и sql ?
процедурный или объекто-орентированный ?
Ну это уж не вопрос о sql, запросы к базе один фиг одни и те же будут.
 
Назад
Сверху