Проблем с mysql_query

Limitless

Registered
Здравейте..
Реших да си направя една функциика за да ми е по- лесно писането на кода..
Обаче си има някакъв проблем и ми изписва примерно като пробвам обикновена заявка...
PHP:
<?php

function sql($query) {
    $result = mysql_query($query);
    if(!$result) {
        echo mysql_error();
        echo 'You have error in this query: <b>'.$query.'</b>';
    }
    else {
        echo mysql_error();
    }
}

?>

$res = sql('SELECT * FROM users');
$num = mysql_num_rows($res);
echo $num;
А като го правя без в mysql_query да има текст а променлива си работи. Ето това изписва: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\другите файлове\
....... Някой ако може да помага
:x
 
а защо непремахнеш според мен това е напълно излишно в кода ти.:

PHP:
$num = mysql_num_rows($res);
echo $num;
 
PHP:
<?php

function sql($query) {
    $result = mysql_query($query);
    if(!$result) {
        echo mysql_error();
        echo 'You have error in this query: <b>'.$query.'</b>';
    }
    else {
        echo mysql_error();
    }
}

?>

$res = sql('SELECT * FROM users');
$num = mysql_num_rows($res);
echo $num;
Каква е логиката на този if ? Ако няма ресултат грешка елс пак грешка...

PHP:
<?php

function sql($query) {
    $result = mysql_query($query);
    if(!$result) {
        echo mysql_error();
        echo 'You have error in this query: <b>'.$query.'</b>';
    }
    else {
        return $result;
    }
}

?>

$res = sql('SELECT * FROM users');
$num = mysql_num_rows($res);
echo $num;

Пробвай така.
 
Нямаш никакъв return във функцията, а присвояваш резултатата от нея (т.е. поне се опитваш). Смени в ELSE частта echo-то с return
PHP:
else {
return $result;
}
и би трябвало да работи :idea:
 
Replace каза:
Нямаш никакъв return във функцията, а присвояваш резултатата от нея (т.е. поне се опитваш). Смени в ELSE частта echo-то с return
PHP:
else {
return $result;
}
и би трябвало да работи :idea:
Това и аз обяснявах тамън над твоят коментар. Веднъж проверява за грешка и ако няма пак подава грешка на базата. Няма ретърн а очаква резултат да обработва. :)
 

Back
Горе