Затруднение с Num_rows

CosaNostra

Registered
Привет, туристи!

От известно време си бия главата в стената, понеже не мога да "преброя" дали има потребител с това име.
Ето го кога:

$sql = "SELECT username FROM news WHERE name=admin";
$result = $db_connect->query($sql);

if ($result->num_rows > 0) {
$error = "Потребителското име е заето!";
} else {
echo "Потребителското име свободно.";
}

Става въпрос при опит за регистрация на потребител. Въпреки, че има потребител admin ( даже няколко... ), все пак ми позволява да направя регистрация със същото име и ми изписва грешка
Notice: Trying to get property of non-object in ..\test.php on line 7

Посъветвайте как точно да процедирам.. :shock:
 
Защо неопиташ така:

PHP:
<?php

mysql_connect("localhost", "mysql_user", "mysql_password"); // Свързване към базата данни (поставете вашите данни!)
mysql_select_db("mysql_db"); // Избиране на базата данни

if(isset($_GET['username'])){

	$admin = $_GET['username'];
	$query = mysql_query("SELECT * FROM news WHERE username = '$admin'");
	if($num = mysql_num_rows($query)){
		echo "Потребителското име е свободно"; 
	}else{ echo "Потребителското име е заето"; } 

}

?>
 
Дава ми грешка още при свързването.. какво ли не опитах...
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ..\test.php:2 Stack trace: #0 {main} thrown in ..\test.php on line 2

Хостс, име, парола, БД - въведени са както трябва, просто не мога да осъзная от къде идва тази грешка :idea:
 
Защо неопиташ така?



PHP:
<?php
$dbhost = "localhost";
$dbuser = "db user"; 
$dbpass = "dbpass"; 
$dbname = "database"; 
$connect = mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db($dbname,$connect) or die ("Could not select database");

if(isset($_GET['username'])){

        $admin = $_GET['username'];
        $query = mysql_query("SELECT * FROM news WHERE username = '$admin'");
        if($num = mysql_num_rows($query)){
                echo "Потребителското име е свободно"; 
        }else{ echo "Потребителското име е заето"; } 

}

?>
 
Преведи си грешката:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ..\test.php:2 Stack trace: #0 {main} thrown in ..\test.php on line 2


Няма функция mysql_connect(). Потърси в документацията как да се свържеш към mysql.
 
Подсказка.

Значи, отваряш http://php.net/mysql_connect:

И, там пише:
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect()
PDO::__construct()
 

Горе